2010-05-10 145 views

回答

18

在您的UIBarButtonItems之間拖放一個靈活的空格鍵按鈕項。這在IB中很容易實現,請查看控件的底部。

如果你想這樣做程式設計,此代碼應幫助:

UIBarButtonItem* button1 = [[UIBarButtonItem alloc] initWithTitle:@"Button1" style:UIBarButtonItemStyleBordered target:self action:@selector(button1Action)]; 
UIBarButtonItem* button2 = [[UIBarButtonItem alloc] initWithTitle:@"Button2" style:UIBarButtonItemStyleBordered target:self action:@selector(button2Action)]; 
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; 
[myToolbar setItems:[NSArray arrayWithObjects:button1, flexibleSpace, button2, nil]]; 
+0

Alku,你已經改變了你的答案三次,以添加所有其他人都在說的話!不是很酷 – h4xxr 2010-05-10 23:27:31

+1

是的,我注意到了,我很抱歉。我第一次誤解了這個問題,然後去編輯我的答案,然後意識到我可以在第三次提供更好的答案,因爲我有一些可用的代碼。當我完成所有這些工作的時候,你們進來了,回答得比我最初的答案還要好。 – 2010-05-10 23:31:23

+0

謝謝你,這是一個很好的答案,我很欣賞你已經努力將答案編譯成一個區域的努力。你是一個好人。 – 2010-05-11 13:36:14

2

是啊。使用UIBarButtonSystemItemFlexibleSpace使用-initWithBarButtonSystemItem:方法創建UIBarButtonItem,然後在每個實際工具欄項目之間插入該方法。例如:

UIBarButtonItem *flexSpace = [[UIBarButton alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace]; 
myToolbar.items = [NSArray arrayWithObjects:buttonOne,flexSpace,buttonTwo,flexSpace,buttonThree,nil]; 
[flexSpace release]; 
4

忽略UIBarButtonItem建議的寬度;這不是蘋果推薦的正確方法,如果你想添加更多的圖標,它將不起作用。

正確的做法是在每個按鈕之間添加一個「靈活空間」(技術上說是另一個按鈕!)。您可以在Interface Builder中看到它,或者如果需要,可以直接在代碼中添加它。

+0

技術上另一個按鈕!從中得到重點 – Anish 2012-08-31 09:56:50