13

私の iPhone アプリケーションには、タブ バーがあります。このタブ バーには、UINavigationController が含まれています。私は持っている:

  • Interface Builder で、タブ項目のタイトルを「新規作成」に設定します
  • 私が持っているUINavigationコントローラself.tabBarItem.title = 'Create New';self.title = 'Create New';
  • コントローラーにプッシュされた UIViewController: self.tabBarItem.title = 'Create New'; しかしself.title = 'Blah';

ただし、常に、ナビゲーション コントローラーにプッシュされた最初のビュー コントローラーの self.title が表示されます (Blah)。タブ バー アイテムのタイトルをどのように設定しますか? ありがとう、アイザック・ウォーラー

4

2 に答える 2

25

self.navigationItem.title = 'Blah';の代わりに使用すると、うまくいくことがわかりましself.titleた。

于 2009-04-06T19:47:18.997 に答える
18

同じ問題を解決しました。self.tabBarItem.item私は私の最初のタブに使用していましたtabBarController。これは、最初で唯一のnavigationController. したがって、タブ バーの最初のタブでは、タイトルを別の方法で設定する必要があります。私は説明しようとします:

3 つのタブを含むタブ バー(UINavigationController各タブにコンテンツを提供する)

  1. タブ 1
    • tab1NavController.m を読み込みます ( self.tabBarItem.item「1st」に設定)
    • tab1ViewController.m を読み込みます ( self.title「tab1 View」に設定します)
  2. タブ 2
    • tab2NavController.m を読み込みます ( self.tabBarItem.item「2nd」に設定)
    • tab2ViewController.m を読み込みます ( self.title「タブ ビュー」に設定します)
  3. タブ 3
    • tab3NavController.m を読み込みます ( self.tabBarItem.item「3rd」に設定)
    • tab3ViewController.m を読み込みます ( self.title「tab3 View」に設定します)

タブ バーが 3 つのタブのそれぞれについてすべてを読み込むと、タブ バーviewControllersのタブ ボタンには次のラベルが付けられます。

  1. 「tab1 ビュー」
  2. 「2番目」
  3. 「3番目」

これは、ユーザーがそれらのタブを選択するまで、2 番目と 3 番目のナビゲーション コントローラーが読み込まれないためです。がロードされると最初のタブがロードされUITabBarController、イベントの順序により、tabBarItem.titleが navController の rootViewController の に置き換えられself.titleます。

解決

これを修正するには、self.navigationItem.title代わりにself.title. これは、最初のタブの navController の rootViewController に対してのみ行う必要があります。

それが理にかなっていることを願っています。あなたはあなた自身の問題を解決しましたが、私はあなたと他の人になぜそれがこのように機能するのかを知ってほしかった.

于 2011-02-04T00:45:21.850 に答える