私はしばらくこれに苦労しており、オンラインで解決策をふるいにかけましたが、そこにたどり着くことができなかったので、素晴らしい人々に尋ねる時が来たと思いました. 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 開発を始めたばかりなので、曖昧なところがあれば申し訳ありません。どんな助けでも大歓迎です。