你如何定位自定义UIPicker?

问题描述:

所以我想在我的视图中定位一个自定义的UIPicker。我遵循UICatalog代码并在我的代码中应用相同的原则。你如何定位自定义UIPicker?

他们似乎将它定位的方法是:

CGSize pickerSize = [myPickerView sizeThatFits:CGSizeZero]; 
customPickerView.frame = [self pickerFrameWithSize:pickerSize]; 

是如何运作的?他们似乎在他们在代码中创建的其他常规选择器上调用了“sizeThatFits”,然后用它来设置框架。

如何在不需要两个拾取器的情况下实现类似这样的事情?我希望我的自定义选取器位于视图的底部。

谢谢!

如在documentation中所述,某些类型的对象类返回固定大小。 UIPickerView就是其中之一,最好保持不变。因此,我们在UIPickerView对象上使用该方法获得适当的大小。你不需要第二个实例。您可以初始化一个没有框架的选取器对象,并调用它来获取适当的大小。

+0

好的我只是不明白为什么它不是UIPickerView类中的某种静态类常量。对我来说,能够在课堂上保持一致是更合乎逻辑的。像UIPickerView.size一样,而不是初始化一个选择器对象的唯一目的是获得一个值。 – Ayrad 2011-05-26 18:29:59

这为我工作:

myPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 244, 320, 216)]; 

我找到了正确的大小和位置通过在笔尖拖动文件定期查看并使用相同的坐标。