系统默认的是内容居左显示的,有时会觉得不太好看,可以实现代理方法。

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view

{
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(12.0f, 0.0f, [pickerView rowSizeForComponent:component].width-12, [pickerView rowSizeForComponent:component].height)] autorelease];

[label setText:[pickerData objectAtIndex:row]];

label.backgroundColor = [UIColor clearColor];
[label setTextAlignment:UITextAlignmentCenter];
return label;
}

设置初始默认值

[pickerView selectRow:3 inComponent:0 animated:NO];

转自: http://blog.csdn.net/xiaoxiangzhu660810/article/details/9271239

参考说明:uni-app的官方文档在使用bindChange方法时会有延迟,可以加上immediate-change=‘true’立即执行左边的是每列的下标,右边的数字是每列里面的 选中 的下标。 必须 设置 picker - view 的宽高 < picker - view value="{{[n,n,n]}}" 依次表示 picker - view 内的各个 picker - view -column选择的第几项(下标从0开始),数字大于 picker - view -column可选项长度时,选择最后一项。 indicator-style 设置 选择器中间 选中 框的样式 indicato < picker mode="time" range="{{array}}" start="06:30" end="18:30" bindchange="bindTimeChange"> < view class=" picker "> 当前选择:{{time}} </ view > UIP i cke r View 自定义 选中 行背景色, UIP i cke r View 默认 有一层灰色背景,并且系统不直接提供修改的方法,我们需要手动获取次到那个 view 图层,并对其进行更改,在代理中实现。