我有一个带有UIPickerView的应用程序。我正在使用方法
返回自定义视图- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
在iOS 6中显得很好。在iOS 7中,没有那么多 - 下面的屏幕截图。
请注意,在没有焦点的单元格中,第二列和第三列重叠。中心行是正确的。
有什么建议吗?
答案 0 :(得分:8)
似乎由于一个奇怪的原因,如果任何列的宽度高于拾取器视图宽度的1/3,则布局会中断。因此,如果你有一个320像素宽的选择器视图106或更少工作,但107或更高是错误的,无论你有2,3,4 ...组件。真奇怪。
答案 1 :(得分:2)
正如他在之前的帖子中所说的那样,只有当LAST组件的widthForComponent值大于106像素时才会出现这种情况。其他组件可以返回超过106的值,看起来很好。此外,如果返回宽度小于widthForComponent返回的值的视图,它将使视图居中,但它将向左偏移大约10个像素。
答案 2 :(得分:0)
我有类似的问题,但我正在显示简单的数字。见my similar question。简短的回答是我必须将组件拆分为不同的UIPickerViews。
答案 3 :(得分:0)
正如@imihaly所提到的,我只想出一个解决方案,以增加选择器视图的宽度,并将其添加到视图中。
的演示版