2010-02-08 44 views
1
[Button1 setFrame:CGRectMake(0, 0, 50, 0)]; 
[Button2 setFrame:CGRectMake(0, 0, 120, 0)]; 
[Button3 setFrame:CGRectMake(0, 0, 50, 0)]; 


self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:Button1]; 
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:Button2]; 
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:Button3]; 

我想在NavigationBar中添加按鈕。 NavigationBar有3個按鈕。我不適用setFrame:CGRectMake

導航組成是這樣的。

button 1 button 2   text   button3 

但我沒有表明。這像。

  button 2   text   button3 

Button1,Button2和Button3是圖像。

我認爲Button1的SETFRAME沒有工作。

我想SETFRAME:CGRectMake(0,0,50,0)的作品Button1的和SETFRAME:CGRectMake(0,0,120,0)的作品將Button2。所以,Button1被Button2 setFrame擦除。

如何來解決這個Button1的SETFRAME?

請幫幫我。

回答

1

它無關的setFrame:電話。您不能將兩個按鈕分配到leftBarButtonItem。第二個作業將覆蓋第一個作業。您應創建一個空白視圖,將兩個按鈕添加到此視圖(正確設置它們的框架以使它們並排放置),然後使用此容器視圖創建一個欄按鈕項目。

+0

另請注意,您正在泄漏所有三個UIBarButtonItems。您需要在將它們分配給buttonItem屬性後釋放或自動釋放這些內容。 – 2010-02-08 18:18:01

+0

Rob的好處。我忘了提到這一點。 – 2010-02-08 18:45:02