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

- (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];

UIP i cke r View 自定义选中行背景色, UIP i cke r View 默认有一层灰色背景,并且系统不直接提供修改的方法,我们需要手动获取次到那个 view 图层,并对其进行更改,在代理中实现。 关于 picker - view 初始 值value的 设置 1、在vue里 设置 picker - view 初始 picker - view 初始 值需要在元素生成后 设置 ,如果是异步获取数据的,需要监听绑定的数组,等待完成后使用一次性定时器setTimeOut < picker - view :value=" picker Value"> < picker - view -column> < view v-for="(item,index) in list" :key="index"> 近日在写一个 UIP i cke r View 的时候,在 - (UI View *) picker View :( UIP i cke r View *) picker View view ForRow:(NSInteger)row forComponent:(NSInteger)component reusing View :(UI View *) view 方法中自定义的时候,发现不能 居中 : 在经过一番探索之后,由莫名奇妙解决 -(void) picker View :( UIP i cke r View *) picker View didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ if (!_isMaster) { [DBTIP view ProgressHUD:@”无权限”]; return;