系统默认的是内容居左显示的,有时会觉得不太好看,可以实现代理方法。
- (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
图层,并对其进行更改,在代理中实现。