2012-05-21 91 views
3

UIPickerView中組件的高度和寬度的默認值是多少?即,如果應用程序沒有實現這些方法,那麼iOS用作下面的高度和寬度的值是多少?UIPickerView中組件的高度和寬度的默認值

pickerView:widthForComponent: 
pickerView:rowHeightForComponent: 

我試圖從線程建議: What is the default width of a UIPickerView component? 但是,這將給出一個數組出界異常:

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSMutableArray objectAtIndex:]: index 0 beyond bounds for empty array' 

讚賞任何幫助。

回答

5

寬度取決於拾取器中組件的數量。它會自動計算(據我所知)。高度似乎在44左右。不要擔心它會成爲Apple的默認設置。我的意思是說,無論如何你都很難編碼,所以如果蘋果決定改變它的話,你的應用將會失去幾個像素。我建議你只需從44左右開始,通過試驗和錯誤來選擇一個高度,並根據你顯示的數據來看看什麼「感覺」最好。

+1

如果我想自定義一個組件的高度和寬度,但保留其餘的默認值,該怎麼辦?當Apple更改它們時,我希望默認值發生改變。在這種情況下,硬編碼可能沒有幫助。 – user682765

+0

只要你重寫widthForComponent或者heightForComponent,你就是硬編碼的。如果你硬編碼一個,你必須硬編碼其他。 Afaik,「默認」值沒有正式記錄在任何地方,所以它是試錯和猜測。 – melsam

+0

「如果蘋果決定改變它」在iOS上,它不會影響你的編譯代碼...在某些時候你不得不更新你的Xcode,如果你想提交更改到你的應用程序......但是你可以再次硬編碼! –