我有一個選項卡式應用程序,並且一些選項卡使用導航堆棧。這很好, 但沒有標籤,我想添加一個一致的佈局。將UIBarButtonItem添加到沒有UInavigationController的UINavigation欄中
所以我想知道如何添加barButtonItems導航欄,沒有導航堆棧。
所以這不會工作(因爲導航堆棧不存在) self.navigationItem.rightBarButtonItem = customItem;
我怎樣才能添加自定義項目UInavigation吧?
我有一個選項卡式應用程序,並且一些選項卡使用導航堆棧。這很好, 但沒有標籤,我想添加一個一致的佈局。將UIBarButtonItem添加到沒有UInavigationController的UINavigation欄中
所以我想知道如何添加barButtonItems導航欄,沒有導航堆棧。
所以這不會工作(因爲導航堆棧不存在) self.navigationItem.rightBarButtonItem = customItem;
我怎樣才能添加自定義項目UInavigation吧?
以下使用將定製項目添加到您的UIViewController
繼承類中的UINavigationbar
。
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"my Button" style:UIBarButtonItemStylePlain target:self action:@selector(ClickButton:)];
編輯:
對於不使用導航堆棧控制器,你可以考慮使用UIToolbar
他們。
使用界面生成器將導航欄添加到您的viewController xib並從界面生成器添加欄按鈕項。
我試圖不使用IB爲此,主要是因爲我擁有的是一個表視圖和導航欄,但可能是唯一的選擇。 –
如果您通過IB或代碼綁定了UINavigationBar,則可以將條形按鈕項添加到該導航欄的實例中。只是不要使用self.navigationItem.rightBarButtonItem = customItem;因爲正如你所說的那樣,沒有導航堆棧,所以只需綁定到你所認爲的頂級導航欄即可。 –
如果您根本不在乎酒吧的導航方面,那麼也許您可以使用UIToolbar
。
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
UIToolbar *bar2 = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
[self.view addSubview:bar2];
[bar2 release];
}
這是一個有效的選項,我最初也試過,但導航欄底部有一個黑色邊框。它位於工具欄的頂部。有沒有辦法解決這個問題? –
這是因爲UIToolbar意味着位於底部,因此黑線位於頂部(與UINavigationBar相反)。你可以看看這篇文章併爲你的UIToolBar實現一個自定義背景(第二個向下,或者選定的答案)。只需獲取UINavigationBar的1像素寬的圖像並將其放到工具欄的背景中。 http://stackoverflow.com/questions/1941103/can-i-give-a-uitoolbar-a-custom-background-in-my-iphone-app –
閱讀我的帖子,NavigationItem不做任何事情沒有navigationController。 –
@ cream-com:我想,如果沒有導航堆棧,你不能使用'navigationBar', – Jhaliya
@ cream-com:檢查更新後的答案。 – Jhaliya