3

最初のスプラッシュ ビュー コントローラーの後に、タブバー コントローラー、ナビゲーション コントローラー、およびテーブルビュー コントローラーが続くストーリーボードがあります。テーブルビュー コントローラーの 1 つからアクション シートを提示する必要があります。

[UIActionSheet showInView:self.view] は、タブ バー領域に入るタッチが検出されないため機能しないため、[UIActionSheet showInTabBar:tabBar] を使用する必要があります。

私の質問は、タブ バーまたは UITabBarController への参照を取得する方法です。Xcode では、UITabBarController または UITabBar から参照アウトレットをカスタム ビュー コントローラーに接続することはできません (おそらく、ストーリーボード上のビュー コントローラーは静的オブジェクトではなく、必要な場合にのみ作成され、セグエによって関連付けられるためです (?) 、したがって、そのようにすることは想定されていません)が、これにより、タブバーに直接アクセスする方法がなくなります.

これを行う正しい方法は何ですか?

4

1 に答える 1

1

おそらく、この質問に対するより良い答えがここにあります: Storyboard - UITabBarController

つまり、ルート ビュー コントローラーを appdelegate のウィンドウから引き出します。

特定のビューのタブ バーを非表示にするために、viewWillAppear で次の操作を行いました。

AppDelegate *ap = (AppDelegate *)[[UIApplication sharedApplication] delegate];
UITabBarController *tc = (UITabBarController *)[[ad window] rootViewController];
[[tc tabBar] setHidden:YES];
于 2014-01-21T20:34:56.540 に答える