2011-06-25 48 views
1

我注意到,爲了以編程方式創建UIToolbar,您需要設置其大小,例如使用initWithFrame。有沒有辦法讓它自動計算大小,以便將來(過去?)版本的操作系統一切都會是正確的大小?我很猶豫要有效地編寫工具欄的大小。UIToolbar initWithFrame自動調整大小?

謝謝!

+0

從iOS 5開始,iOS做了一件糟糕的工作。調用[toolbar sizeToFit]會拉伸視圖的整個寬度,這只是錯誤的。唯一的解決方案是獲取條形按鈕項目的所有寬度,然後從中設置該工具欄寬度,但這是有問題的,因爲您無法獲取系統欄按鈕項目的寬度。 – jjxtra

回答

0

那麼,你可以擴展UIToolbar類,然後總是實例化你的自定義工具欄。

@interface CustomToolbar : UIToolbar { 
    … 
} 
- (id)initWithFullSize; 

和喜歡的實現:

- (id)initWithFullSize { 
    self = [self initWithFrame:CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)]; 
    return self; 
} 

最後:

CustomToolbar *myToolbar = [[CustomToolbar alloc] initWithFullSize]; 

...這樣的事情應該這樣做。

+0

剛剛編輯了一段代碼來澄清我的意思。希望它可以幫助你。 – Dude