UIPickerView组件高度和宽度的默认值是多少?

3

UIPickerView组件的高度和宽度的默认值是多少?也就是说,如果应用程序没有实现这些方法,iOS会使用什么值作为下面的高度和宽度?

pickerView:widthForComponent:
pickerView:rowHeightForComponent:

我尝试了这个帖子中的建议: UIPickerView组件的默认宽度是多少? 但是这会导致数组越界异常:
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSMutableArray objectAtIndex:]: index 0 beyond bounds for empty array'

非常感谢您的帮助。

1个回答

6

宽度取决于选择器中组件的数量。它会被自动计算(据我所知)。高度似乎大约是44。不用担心与苹果默认值完全相同。反正你已经在硬编码了,如果苹果决定更改它,你的应用程序将会有几个像素的偏差。我建议通过试错法选择一个高度,从44开始,并根据你正在显示的数据来确定最佳高度。


1
如果我想为一个组件自定义高度和宽度,但保留其余组件的默认值,那该怎么办?当苹果公司更改默认值时,我希望默认值也能随之更改。在这种情况下,硬编码可能无法解决问题。 - user682765
一旦你覆盖了widthForComponent或heightForComponent,你就在硬编码。如果你硬编码一个,你就必须硬编码其他的。据我所知,“默认”值没有正式记录在任何地方,所以只能靠试错或猜测。 - melsam
如果苹果决定在iOS上进行更改,它不会影响您的编译代码...但是在某个时候,您被迫更新Xcode并且如果您想提交应用程序的更改...但是然后您可以再次硬编码! - Dan Rosenstark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接