在XCode 4.5.1中使用導航控制器創建故事板應用程序,我很難嘗試爲推送的任何視圖控制器設置BACK按鈕。我正在使用segue,視圖控制器按預期顯示。不過我想動態改變導航欄和後退按鈕的名稱,並放在這在我的viewWillAppear中:故事板UINavigation Controller後退按鈕文本
self.title = @"Select Songs";
[self.backButton setTitle:@"Add"];
改變導航欄的標題,但後退按鈕仍然顯示推窗的名稱,而不是文字「添加」。
模擬量度都是推斷的。我還將一個BarButtonItem添加到Xcode視圖下方的黑色托盤中,並將viewcontroller的backButton連接到backButton,但文本仍然不出現。
添加以下日誌消息也產生一些有趣的事情:(,但標題欄被正確地更新)
-(void) viewDidAppear:(BOOL)animated {
NSLog(@"%s %@", __FUNCTION__, self.navigationItem.backBarButtonItem);
NSLog(@"%s %@", __FUNCTION__, self.navigationController.navigationItem.backBarButtonItem);
}
2012-10-14 15:18:41.835 xxxx[2690:907] -[ViewController viewDidAppear:] (null)
2012-10-14 15:18:41.838 xxxx[2690:907] -[ViewController viewDidAppear:] (null)
如果前一個控制器的標題很長,還會顯示「返回」。我花了一個小時才弄明白。 – Alexey