2011-05-25 51 views
1

我是iPhone開發新手。 我的應用程序基於UInavigationBar。 我想添加一個導航欄項目在我的一個xib中,但在.xib中,我只是模擬導航欄,所以我不能拖放項目。謝謝如何添加項目到UINavigationBar

回答

0

您需要以編程方式添加導航欄按鈕。您會看到,您的xib具有顯示在UINavigationController的內容視圖中的視圖。它是您的應用訪問並控制導航欄項目的UINavigationBar。正如你指出的那樣,你的xib只有一個導航欄的佔位符,這對你來說真的很方便,所以你的視圖在你佈局時的大小是正確的。

在UIViewController的廈門國際銀行,你的代碼像

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] 
              initWithTitle:@"View" style:UIBarButtonItemStylePlain 
              target:self 
              action:@selector(viewControls:)] autorelease]; 

這是否有道理的add視圖,相應的導航欄項目?

+0

謝謝,該項目被添加,但我怎麼能打電話方法,當我點擊它? – user761812 2011-05-25 17:47:51

+0

'target'和'action'分別是對象的對象和方法,當按鈕被點擊時被調用。 – 2011-05-25 17:49:54

0

爲了能夠將項目添加到UINavigationBar,您需要先將UINavigationBar添加到您的視圖,然後將項目添加到它。

您無法在模擬導航欄上拖放項目。一個模擬的導航欄就在那裏,以確保你有一個正確的估計可用的視圖大小,如果你通過其他手段或代碼添加導航欄。

0

對於基於導航的層次結構,您應該使用UINavigationController。這將會照顧很多關於如何進行導航工作的較低細節,只要您願意。我還建議以編程方式進行設置。這是你將如何做到這一點。

// Initial setup of navigation 
YourViewController *yvc = [[YourViewController alloc] init]; 
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:yvc]; 
[[self view] addSubview:[nav view]]; 

然後,當你想要去到一個新的視圖控制器(動畫滑動,你通常看到的)如果要更改標題或按鈕,你這樣做

// From inside 'YourViewController', 
// this is normally when the user touches a table view cell 
NewViewController *nvc = [[NewViewController alloc] init]; 
[self.navigationController pushViewController:nvc]; 

,你做到這一點

// This is normally in viewDidLoad or something similar 
[self.navigationItem setTitle:@"Hello World!"]; 
[self.navigationItem.rightBarButtonItem:/* A UIBarButtonItem */];