我有以下視圖控制器層次:的iOS向右導航按鈕不UINavigationBar的顯示
- 視圖控制器VC1
- 標籤欄控制器TBC1 - 在故事板配置爲導致表視圖控制器TVC1和地圖視圖控制器MVC1
- 表視圖控制器TVC1
- 表視圖控制器TVC2
在VC1中,我這樣做:
[self.navigationController pushViewController:TBC1 animated:YES];
這正確顯示標籤欄控制器,TVC1焦點。
TVC1在其導航欄中顯示後退按鈕(通過VC1代碼以編程方式創建),這將使我獲得預期的VC1。
但是,從TVC1起,我需要一個導航到TVC2。我正在嘗試向TVC1導航欄添加右鍵,但不顯示。
這是我在TVC1使用的代碼(rightButton是TVC1的UIButton的類型屬性):
self.rightButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem: UIBarButtonSystemItemAdd
target: self
action: @selector(MySelector:)];
self.rightButton.style = UIBarButtonItemStyleBordered;
self.rightButton.title = @"";
self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects: self.rightButton, nil];
(指定空白標題和風格只是爲了確保如果是這樣的問題,這是造成這一點,我不牛逼實際需要的值)
MySelector在TVC1.h聲明:
- (void) MySelector:(id)sender;
並正確執行了。
但是上面的rightButton不顯示在TVC1導航欄中。
我錯過了什麼? 我懷疑它與VC1和TVC1之間的TBC1(標籤欄),並以某種方式重置導航屬性。
但是,然後我認爲我在TVC1上看到了導航欄,而左側按鈕通向了VC1。 我檢查了在TBC1中,self.navigationItem.rightBarButtonItems有1個對象,其中絕對是我添加的rightButton。
我在哪裏錯了?
注意:以上都可以在iOS 5.0,5.1和6.0的所有仿真器中找到。
您是否在TVC1的'viewDidLoad'中設置了'rightBarButtonItems'? 順便說一句:爲什麼你不只是'self.navigationItem.rightBarButtonItem = self.rightButton;'? –