私のアプリでは、UITabBarController内にUINavigationControllerがあります。すべて正常に動作していますが、ナビゲーションコントローラのタイトルを設定することはできません。私はいくつかの異なる方法を試してみましたが、この問題の解決策はないようです。UITabBarController内のUINavigationController、ナビゲーションコントローラのタイトルを設定する
ご迷惑をおかけして申し訳ございません。
ありがとうございます。
サム
私のアプリでは、UITabBarController内にUINavigationControllerがあります。すべて正常に動作していますが、ナビゲーションコントローラのタイトルを設定することはできません。私はいくつかの異なる方法を試してみましたが、この問題の解決策はないようです。UITabBarController内のUINavigationController、ナビゲーションコントローラのタイトルを設定する
ご迷惑をおかけして申し訳ございません。
ありがとうございます。
サム
、それはだった:
self.tabBarController.navigationItem.title = @"title";
self.navigationItem.title = @"Your Title"
すべてのケースのための作品。私にとって
私はこれを試して、それは動作しません。ありがとう、結構です! – shoughton123
これはうまくいくはずです。 'self.navigationItem'がnilを返さないことを確認してください。 nilの場合は、接続を確認してください。 – Gobot
xibまたはストーリーボードから読み込んでいる場合は、 –
次は正常に動作します:あなたの異なるviewControllers initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
で、これ行わ付き
UINavigationController *navContr1;
UINavigationController *navContr2;
UIViewController *viewController1, *viewController2;
viewController1 = [[[FirstViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil] autorelease];
viewController2 = [[[SecondViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil] autorelease];
navContr1 = [[[UINavigationController alloc] initWithRootViewController:viewController1] autorelease];
navContr2 = [[[UINavigationController alloc] initWithRootViewController:viewController2] autorelease];
self.tabBarController = [[[UITabBarController alloc] init] autorelease];
//self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:navContr1, navContr2, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
- あなたは次の行にタイトルを変更することができます方法:
はappDelegateDidFinishLaunching:
方法でコントローラを開始します。
self.title = @"Your Title";
Good Luck。
がない場合、navigationItemをviewControllerにドラッグしてみてください。残念ながら、私はすでにかなり深いアプリですので、この正確なメソッドを使用することはできませんが、それは違う。しかし、自己をやって。タイトルは機能しません、self.titleはタブバーのタイトルを設定します。しかし、ありがとう! – shoughton123
何についてself.navigationController.title = @ "new title"? – pmk
ドキュメントのUIViewController
クラスをご覧ください。 UINavigationItem
を指すプロパティがあり、プロパティはtitle
を指しています。ナビゲーション項目へのポインタがnilを返す場合は、コントローラを正しく接続していない必要があります。私は最終的に答えを見つけ
self.title
は常にあなたのViewControllerのrootViewController
オブジェクトのタイルを設定します。
お持ちの場合は、あなたのviewController
& rootViewController
UINavigationController
あり、その後、self.title
はUINavigationController
のタイトルを設定します。
あなたはUIViewController
オブジェクトとUITabViewController
を初期化した場合も同様に、その後、self.title
意志がUITabViewController
のUITabBar
に、インデックスのタイトル対応するボタンに適用されます。
したがって、self.title
はviewController
を保持しているオブジェクトに適用されます。
重複:http://stackoverflow.com/questions/2760634/cocoa-touch-setting-uinavigationcontrollers-title-doesnt-work –
ビューコントローラでタイトルを指定してから、ナビゲーションコントローラ正しいタイトルが適用されますか? – ader
ビューコントローラでタイトルを指定しています。ありがとう。サム。 – shoughton123