2011-05-25 74 views
0

所以我想在我的視圖中定位一個自定義的UIPicker。我遵循UICatalog代碼並在我的代碼中應用相同的原則。你如何定位自定義UIPicker?

他們似乎將它定位的方法是:

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

是如何運作的?他們似乎在他們在代碼中創建的其他常規選擇器上調用了「sizeThatFits」,然後用它來設置框架。

如何在不需要兩個拾取器的情況下實現類似這樣的事情?我希望我的自定義選取器位於視圖的底部。

謝謝!

回答

-1

如在documentation中所述,某些類型的對象類返回固定大小。 UIPickerView就是其中之一,最好保持不變。因此,我們在UIPickerView對象上使用該方法獲得適當的大小。你不需要第二個實例。您可以初始化一個沒有框架的選取器對象,並調用它來獲取適當的大小。

+0

好的我只是不明白爲什麼它不是UIPickerView類中的某種靜態類常量。對我來說,能夠在課堂上保持一致是更合乎邏輯的。像UIPickerView.size一樣,而不是初始化一個選擇器對象的唯一目的是獲得一個值。 – Ayrad 2011-05-26 18:29:59

0

這爲我工作:

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

我找到了正確的大小和位置通過在筆尖拖動文件定期查看並使用相同的座標。