私はしばらくこれに苦労しており、オンラインで解決策をふるいにかけましたが、そこにたどり着くことができなかったので、素晴らしい人々に尋ねる時が来たと思いました. TableViewController押されたセルに応じて異なるビューに切り替えるために、テーブル ビュー ( ) を含むナビゲーション コントローラーを使用しようとしているタブ バー アプリケーションがあります。
テーブルビューのセルに触れるSecondViewControllerとロードされます(メソッドで背景を色付けして確認したため、これは機能していますviewDidLoad())が、インターフェイス(XIB)がロードされていないため、ウィンドウは空白です(またはバックグラウンドテストの場合は色付けされています) )。ウィンドウ ( ) には、ビューに直接アクセスするときに機能するSecondViewControllerが含まれているはずです。UIScrollerViewすべてのビュー コントローラーが 1 つXIBのファイルに含まれており、そのXIBファイルにはタブ バー コントローラーと、App Delegate に必要な空白のウィンドウ (ウィンドウとtabBarController) が含まれていることに注意してください。
TableViewController.mこれは私が(rootViewControllerのnavigationController)からビューを切り替える方法です
SecondViewController *viewSecond = [SecondViewController alloc];
self.secondViewController = viewSecond;
[self.navigationController pushViewController:self.secondViewController animated:YES];
これapplicationDidFinishLaunchingWithOptions()はappDelegate.m
// Set the tab bar controller as the window's root view controller and display.
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
tabBarController.moreNavigationController.navigationBar.hidden = YES;
return YES;
これは実際には古いプロジェクトからのフォローアップだったので、空白のウィンドウが必要な理由がわかりましたXIB(それが問題に関係している場合) テンプレート タブ バー アプリケーションでは必要ありません。私は iOS 開発を始めたばかりなので、曖昧なところがあれば申し訳ありません。どんな助けでも大歓迎です。