UITabBarControllerを使用して新しいiPhoneウィンドウベースのプロジェクトをセットアップし、すべてをIBで接続します。 self.tabBarController.selectedIndex = 1を使用する。プログラムでタブを切り替えることができるはずです。しかし、特定の状況下でのみ動作するように見えます。あなたがIBActionに結びつけたり、イメージピッカーの結果としてそれをうまく働かせれば。しかし、あまりにも早く呼び出すと、部分的にしか機能しないようです。ビューで選択されたタブは、まだ古いビューです。タブをプログラム的に変更するときに、iPhoneビューがUITabBarControllerで更新されない
私はself.tabBarController.selectedIndex = 1を入力しようとしました。起動時に以前に選択したタブに戻るメソッドとして、viewDidLoadのswitch文では動作しません。その後、NSTimerを追加して、01秒後にそれをやろうとしましたが、うまくいきました。明らかにタイミング/注文の問題です。
タブを切り替えるときにどのような提案をしたらよいですか?
適切なコードスニペットを追加できますか?トラブルの原因を診断するのに役立つかもしれません。 – Tyler
それは一貫して起こり、それ以来私は少し学んだ。私はこれで私の問題の99%を解決しました。 [self performSelector:@セレクタ(switchView :) withObject:nil afterDelay:0.0]; 少なくとも、タイマーよりも少し面倒です。これは明らかに、現在の実行ループの後まで実行を停止します。表示されているタブの同じ実行ループでビューを変更しようとすると、私はそれが表示されますから、それはちょうど幸せではありません。 UITabBarControllerで空白のiPhoneアプリケーションを作成し、self.tabBarController.selectedIndex = 1;を入力してください。たとえば、viewDidLoadまたはviewDidAppearにあります。 – jriskin