質問

私のアプリの主な機能は、UITabBarControllerによって制御されます。しかし、私はUINavigationControllerを持つビューをロードする必要があります。私が使用して私のUITabBarControllerに戻ると、

        self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:0];

私のUITabBarControllerは、もはやクリックに応答しません。ビューがフォーカスを持っていないようです。

しかし、私はUITabBarControllerに戻すために、このコードを使用する場合:

[window addSubview:tabBarController.view]

私のボタンが応答します。私は窓からの眺めを削除したことがないので、それがスタックにビューの2番目のコピーを追加しなければならないので、「addSubview」はあまり効率的であるような気がします。私は正しいでしょうか?最初のメソッドを使用して、私のボタンが応答する方法はありますか?私に知らせてくださいます。

役に立ちましたか?

解決

これは多分あなたは間違ってナビゲーションコントローラを提示しているように聞こえます。あなたは間違いなく、ウィンドウに直接ビューを追加するべきではありません。あなたが使用してそれを提示したい。

[myTabBarController presentModalViewController:myNavController animated:YES];

あなたは、ナビゲーションコントローラで終わったらあなたがそれを却下

[myTabBarController dismissModalViewControllerAnimated:YES];

とすべてが動作するはずです。

ところで、これはすべてのUIViewControllerと文書「iPhone OSのためのビューコントローラプログラミングガイド」のドキュメントに記載されています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top