UIPickerView 中中心行的静态视图
Posted
技术标签:
【中文标题】UIPickerView 中中心行的静态视图【英文标题】:Static view for center row in a UIPickerView 【发布时间】:2014-03-30 08:45:19 【问题描述】:我有一个 pickerView,我通过 viewForRow 委托方法向每一行添加一个自定义视图。这里的目标是为中心(选定)行提供不同的视图,例如高亮视图,同时 pickerView 旋转(中心静态视图)。任何帮助将不胜感激..
【问题讨论】:
【参考方案1】:在 ios 7 中,您可以向UIPickerView
添加子视图。在早期版本中,这将是一个非常痛苦的操作,因为UIPickerView
将有一个边框等,所以您可能需要一个自定义的类似选择器的实现。
对于 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:inComponent:animated:
方法。调用super
后,也许你就可以自定义你的视图了。以上是关于UIPickerView 中中心行的静态视图的主要内容,如果未能解决你的问题,请参考以下文章
在 uitableviewcell 中自定义 uipickerview