プログラムでタブバーコントローラとナビゲーションコントローラを作成したいと思います。私のコードはこれまでのところ、下部にタブバーが表示されていますが、OptionViewControllerは2番目のタブバーのボタンに何も(タイトルなし)は表示されません。面白いのは、ボタンを何もクリックせずにクリックすると、タイトルが表示されます(彼の見解も同じです)。誰かが私に間違っていることを説明することができますか?あなたがtabBarItemとUINavigationController
はなく、ルートのViewControllerのタイトルを設定する必要がTabBarControllerをプログラムで追加する
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[self.window makeKeyAndVisible];
NSMutableArray *tabItems = [[NSMutableArray alloc] initWithCapacity:2];
DefaultViewController *dvc = [[DefaultViewController alloc] init];
UINavigationController *dvc_nc = [[UINavigationController alloc] initWithRootViewController:dvc];
[tabItems addObject:dvc_nc];
[dvc release];
[dvc_nc release];
OptionsViewController *ovc = [[OptionsViewController alloc] initWithStyle:UITableViewStyleGrouped];
UINavigationController *ovc_nc = [[UINavigationController alloc] initWithRootViewController:ovc];
[tabItems addObject:ovc_nc];
[ovc release];
[ovc_nc release];
UITabBarController *tbc = [[UITabBarController alloc] init];
tbc.viewControllers = tabItems;
self.tabController = tbc;
[tabItems release];
[tbc release];
[self.window addSubview:self.tabController.view];
return YES;
}
とXcodeの9に尋ねてみている
setupAppHome
を私はあなたにサブビューとしてUINavigationControllerを追加する必要があると思いますUINavigationController –
のような制御クラスのスーパークラスを持つTab Barコントローラは、欠落しているタイトルのみです。あなたの 'OptionsViewConbtroller'の' title'はどこで設定していますか?あなたの 'init'メソッドにタイトルを設定していない場合、TabBarControllerはあなたのOptionsVCから空のタイトルだけを読み込みます。あなたはsthのtitleプロパティを設定していると思います。 'viewDidLoad'のように? – thomas
私はそう思っていません、これは:[tbc.view addSubview:ovc_nc.view];画面が完全に空になります! – Mark