2014年12月17日水曜日

iOS開発 Presenting view controllers on detached view controllers is discouraged

タブをプログラムから切り替えるコードを作っていたら、

こんな警告が

「Presenting view controllers on detached view controllers is discouraged」


self.tabBarController の中にさらに navigationControllerがあるんで、
次のようなコードを書いてた。


// タブの選択を変更
self.tabBarController.selectedIndex = 0;

// セグエで遷移
[self.navigationController.viewControllers[0] performSegueWithIdentifier:@“xxxx" sender:nil];


どうも、セグエで遷移するときに落ちる模様。
self.tabBarController の中にさらに navigationControllerがあるのに、
そこからタブを飛び越えてセグエで無理矢理遷移するのが原因か?
ビューコントローラーで選択できるようなので、次のように変更、無事動作。

UINavigationController *vc = self.tabBarController.viewControllers[0];
self.tabBarController.selectedViewController = vc;
[vc popToRootViewControllerAnimated:YES];

リンク先を参考にさせていただいた。

0 件のコメント:

コメントを投稿