Ios UIPickerView中中心行的静态视图

Ios UIPickerView中中心行的静态视图,ios,objective-c,uiview,uipickerview,uipickerviewdelegate,Ios,Objective C,Uiview,Uipickerview,Uipickerviewdelegate,我有一个pickerView,通过viewForRow委托方法向每一行添加一个自定义视图。这里的目标是为中心(选定)行提供一个不同的视图,就像pickerView旋转时的高亮显示视图(中心静态视图)。如果您有任何帮助,我们将不胜感激。在iOS 7中,您可以在UIPickerView中添加子视图。在早期版本中,这将是一个非常痛苦的操作,因为UIPickerView将有一个边框等,所以您可能需要一个自定义的类似picker的实现 对于iOS 7,您可以使用以下内容: CGFloat rowHeigh

我有一个pickerView,通过viewForRow委托方法向每一行添加一个自定义视图。这里的目标是为中心(选定)行提供一个不同的视图,就像pickerView旋转时的高亮显示视图(中心静态视图)。如果您有任何帮助,我们将不胜感激。

在iOS 7中,您可以在
UIPickerView
中添加子视图。在早期版本中,这将是一个非常痛苦的操作,因为
UIPickerView
将有一个边框等,所以您可能需要一个自定义的类似picker的实现

对于iOS 7,您可以使用以下内容:

CGFloat rowHeight = 100;  // rowHeight of your picker view, i assumed your rowHeight equals to 100

// Create a custom view, centered vertically in your picker view
UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0,
                                                         (pickerView.bounds.size.height - rowHeight)/2,
                                                         pickerView.bounds.size.width,
                                                         rowHeight)];
[view setBackgroundColor:[UIColor clearColor]];

// Do some highlighting operations
[view.layer setCornerRadius:5.0];
[view.layer setBorderColor:[UIColor blueColor].CGColor];
[view.layer setBorderWidth:5.0];

[pickerView addSubview:view];

哦,我明白了背后的想法。你认为在设置为选中之前,有没有办法调整视图中行的customView?因为要选择一行,它必须停止滚动动画。例如,在customView中更改字体、颜色或文本大小。。我的意思是,在滚动时,您可以尝试子类化
UIPickerView
并覆盖
selectRow:incomonent:animated:
方法。调用
super
后,也许您可以自定义视图。