私のアプリケーションでは、ナビゲーションコントローラーを使用して、タブバーコントローラーとカスタムナビゲーションバーもロードする1つのビューをプッシュしています。問題は、タブバーが画面の下部に表示されなくなり、何が問題を引き起こしているのかわかりません。
次のビューで単純なタブバーをロードすると、それ自体が正しく配置されます...しかし、必要なのはタブバーコントローラーです。その場合、タブバーは下部の下に表示されなくなります。タブバーのビューとサイズのプロパティを変更しようとしましたが、問題は解決しませんでした。
また、タブの画像とテキストが表示されないことにも気付きました(「お気に入り」と「連絡先」の画像とテキストを設定しました。これらは十分な大きさで、タブの上面に表示されるはずですが、ではない)。
ちなみに、両方のタブは完全に機能します。
ここに画像があります。
次のコードを使用してタブバーをロードします。
- (void)viewDidLoad {
[super viewDidLoad];
myTabBarController = [[UITabBarController alloc] init];
SettingsViewController* tab1 = [[SettingsViewController alloc] init];
AboutViewController* tab2 = [[AboutViewController alloc] init];
NSArray* controllers = [NSArray arrayWithObjects:tab1, tab2, nil];
myTabBarController.viewControllers = controllers;
[self.view insertSubview:myTabBarController.view belowSubview:myNavigationBar];
}
ナビゲーションバーを削除するかどうかは関係ありません。代わりにこれを使用してテストしました:
[self.view addSubview:myTabBarController.view];
...ナビゲーションバーを忘れていますが、タブバーはまだ下部にあります。
問題が私のNIBファイルの1つにあるのか、それともビューをロードする方法にあるのかわかりません(ただし、AppleのSDKドキュメントを読んでいます)。何か案は?
もう1つの質問は...2番目のタブを選択したときにナビゲーションバーのタイトルを変更するにはどうすればよいか知っていますか?AboutViewController.mのviewDidLoadでそれをしなければならないと思いますが、それは正しいでしょうか?
お時間をいただきありがとうございます!