TabBar とタブを備えた iPhone アプリがあります。各タブには UIViewControllers がロードされます。特定のタブに必要なのは、タブに関連付けられた UIViewController を変更することです。PresentViewController を呼び出すと、UIViewController が変更されますが、不要な TabBar も非表示になります。
誰が何をする必要があるか説明してもらえますか?
ありがとう
TabBar とタブを備えた iPhone アプリがあります。各タブには UIViewControllers がロードされます。特定のタブに必要なのは、タブに関連付けられた UIViewController を変更することです。PresentViewController を呼び出すと、UIViewController が変更されますが、不要な TabBar も非表示になります。
誰が何をする必要があるか説明してもらえますか?
ありがとう
UITabBarController は、そのビュー コントローラーのコレクションを適切な名前のプロパティに保持しますviewControllers
。これは実行時に変更できます。アプリにとっておそらく問題ない副作用がありますが、ドキュメントを読んで確認してください。
便利なメソッド (およびその不変配列を変更する方法の図) は次のようになります。
- (void)replaceTabBarViewControllerAtIndex:(NSUInteger)index with:(UIViewController *)newVC {
NSMutableArray *newVCs = [NSMutableArray arrayWithArray:self.tabBarController.viewControllers];
if (index < newVCs.count) {
newVCs[index] = newVC;
self.tabBarController.viewControllers = [NSArray arrayWithArray:newVCs];
}
}
提示する代わりに、新しい VC でこれを呼び出します。