2011-06-27 15 views
0

私はタブ付きのアプリケーションを持っており、いくつかのタブはナビゲーションスタックを使用しています。 Thats fine、 しかし、タブではない、私は一貫したレイアウトを追加したい。UINavigationControllerなしでUINavigationバーにUIBarButtonItemを追加

ナビゲーションスタックなしでナビゲーションバーにbarButtonItemsを追加する方法が不思議です。私はUInavigationバーにカスタム項目を追加する方法

だから、この文句を言わない作業(ナビゲーションスタックが存在しないため) self.navigationItem.rightBarButtonItem = customItem;

答えて

0

継承クラスのUINavigationbarにカスタムアイテムを追加するには、以下を使用してください。

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

EDITED:ナビゲーションスタックを使用していないコントローラの

は、あなたは彼らのためにUIToolbarの使用を検討できます。

+0

私の記事を読むと、NavigationItemはnavigationControllerなしで何もしません。 –

+0

@ cream-com:あなたは 'navigation stack'なしで' navigationBar'を使うことはできませんでした。 – Jhaliya

+0

@ cream-com:更新された答えを確認してください。 – Jhaliya

1

interface builderを使用して、viewbuilder xibにナビゲーションバーを追加し、interface builderからbarボタン項目を追加します。

+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のカスタム背景を実装することができます(2番目のもの、または選択された答え)。 UINavigationBarの1ピクセル幅のイメージを取得し、ツールバーのバックラウンドに配置します。 http://stackoverflow.com/questions/1941103/can-i-give-a-uitoolbar-a-custom-background-in-my-iphone-app –

関連する問題