2011-07-18 78 views
2

當我創建並添加UIToolBar和UIBarButton項目時,如何讓工具欄和項目在兩個方向上正確顯示。這是我到目前爲止有:UIToolbar調整大小會導致風景中出現奇怪的UIBarButtonItem大小

self.toolbar = [[[UIToolbar alloc]initWithFrame:CGRectMake(0, 372, 320, 44)]autorelease]; 
self.toolbar.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 

self.deleteButton = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:self action:@selector(deleteButtonClicked)] autorelease]; 
self.deleteButton.style = UIBarButtonItemStylePlain; 

UIBarButtonItem *flexibleSpace = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease]; 

self.shareButton = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(shareButtonClicked)] autorelease]; 
self.shareButton.style = UIBarButtonItemStylePlain; 
self.navigationItem.leftBarButtonItem = backItem; 

NSArray *toolbarItems = [NSArray arrayWithObjects:self.shareButton,flexibleSpace,self.deleteButton,nil]; 
[self.toolbar setItems:toolbarItems animated:NO]; 

正如你可以從圖片看到,UIBarButtonItems看起來是正確的肖像,但古怪壓扁和關閉中心(特別是垃圾桶圖標),在景觀。有沒有一個明顯的解決方案,我錯過了,還是我必須做手動調整大小才能做到這一點?

Portrait Orientation

Landscape Orientation

這是一個微妙的差異,但在這裏它應該是什麼樣子: What it should look like

+1

你能證明你認爲這應該看起來像什麼嗎? – jtbandes

+0

他們確實看起來適合我... –

+0

jtbandes:剛更新了第三張截圖 –

回答

0

答案是,至少在iOS 5之前是使用UINavigationController的內置工具欄而不是創建自己的。內置的工具欄將正確自動調整大小。

0

你必須看看Autoresizing選項,在Size inspector既爲UIToolBar和鈕釦。 UIToolBar可能也會爲Autoresize subviews設置複選標記,因此不會影響您的按鈕。