2011-06-27 31 views
0

我有一個選項卡式應用程序,並且一些選項卡使用導航堆棧。這很好, 但沒有標籤,我想添加一個一致的佈局。將UIBarButtonItem添加到沒有UInavigationController的UINavigation欄中

所以我想知道如何添加barButtonItems導航欄,沒有導航堆棧。

所以這不會工作(因爲導航堆棧不存在) self.navigationItem.rightBarButtonItem = customItem;

我怎樣才能添加自定義項目UInavigation吧?

回答

0

以下使用將定製項目添加到您的UIViewController繼承類中的UINavigationbar

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"my Button" style:UIBarButtonItemStylePlain target:self action:@selector(ClickButton:)]; 

編輯:

對於不使用導航堆棧控制器,你可以考慮使用UIToolbar他們。

+0

閱讀我的帖子,NavigationItem不做任何事情沒有navigationController。 –

+0

@ cream-com:我想,如果沒有導航堆棧,你不能使用'navigationBar', – Jhaliya

+0

@ cream-com:檢查更新後的答案。 – Jhaliya

1

使用界面生成器將導航欄添加到您的viewController xib並從界面生成器添加欄按鈕項。

+0

我試圖不使用IB爲此,主要是因爲我擁有的是一個表視圖和導航欄,但可能是唯一的選擇。 –

+1

如果您通過IB或代碼綁定了UINavigationBar,則可以將條形按鈕項添加到該導航欄的實例中。只是不要使用self.navigationItem.rightBarButtonItem = customItem;因爲正如你所說的那樣,沒有導航堆棧,所以只需綁定到你所認爲的頂級導航欄即可。 –

1

如果您根本不在乎酒吧的導航方面,那麼也許您可以使用UIToolbar

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 

    UIToolbar *bar2 = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
    [self.view addSubview:bar2]; 
    [bar2 release]; 
} 
+0

這是一個有效的選項,我最初也試過,但導航欄底部有一個黑色邊框。它位於工具欄的頂部。有沒有辦法解決這個問題? –

+1

這是因爲UIToolbar意味着位於底部,因此黑線位於頂部(與UINavigationBar相反)。你可以看看這篇文章併爲你的UIToolBar實現一個自定義背景(第二個向下,或者選定的答案)。只需獲取UINavigationBar的1像素寬的圖像並將其放到工具欄的背景中。 http://stackoverflow.com/questions/1941103/can-i-give-a-uitoolbar-a-custom-background-in-my-iphone-app –

相關問題