2010-07-01 69 views
1

中創建的問題是,我在界面生成器中創建了UINavigationBar,我想更改標題。導航欄沒有連接到我的UINavigation控制器。有沒有什麼辦法可以通過導航欄作爲獨立的筆尖來完成此任務?如何更改UINavigationBar的標題在界面生成器

我的問題的第二部分是對UINavigationBars如何工作的一般理解。我不明白這個導航項目是如何工作的。例如,如果我想更改正確的按鈕項來說「完成」而不是「編輯」?我的理解是,左邊,中間和右邊的酒吧按鈕項目在堆棧上?但是我怎麼知道哪個項目在堆棧的什麼位置。如果我在這裏缺少一些基本的東西,我很遺憾,但是我需要澄清一下左邊,中間和右邊的按鈕項目是如何管理的,以及堆棧如何工作。提前致謝。

回答

1

創建您在界面生成器中創建的此UINavigationBar的IBOutlet

@property (weak, nonatomic) IBOutlet UINavigationBar *navigationBar; 

然後用

self.navigationBar.topItem.title = @"My Custom Title"; 
3

您可以在導航欄中使用自定義titleView,其中您已添加了UILabel以及您選擇的文本。

請閱讀Apple的View Controller Programming Guide for iPhone OS文檔的「配置導航項目對象」部分,以獲取有關如何自定義導航欄的更多信息。

+1

他詢問如何做到這一點在Interface Builder中更改標題。似乎沒有辦法 - 我在IB中如何做到這一點非常有趣。 – Dustin 2011-07-19 23:19:41

1

UINavigationController是UIViewController的一個子類,但與UIViewController不同,它通常不適合您繼承子類。這是因爲導航控制器本身很少被定製超出導航欄的視覺效果。

UINavigationController的實例可以用代碼或XIB文件相對容易地創建。它被認爲是一個堆棧:它有一個根視圖控制器,然後新的視圖控制器可以被壓入堆棧(通常當用戶敲擊表中的一行時)或彈出堆棧(通常通過按下後退按鈕)。

通過在導航控制器下拖動視圖控制器或在創建時使用initWithRootViewController在代碼中可以在XIB中設置根視圖控制器。

導航堆棧

四種方法用於通過堆棧來瀏覽用戶:

- pushViewController:動畫: - popViewControllerAnimated: - popToRootViewControllerAnimated: - popToViewController:動畫: