3

我有一个带有初始启动视图控制器的情节提要,然后是标签栏控制器、导航控制器和表格视图控制器。我需要从我的一个 tableview 控制器中展示一个操作表。

[UIActionSheet showInView:self.view] 不起作用,因为没有检测到落在标签栏区域的触摸,所以我必须使用 [UIActionSheet showInTabBar:tabBar]。

我的问题是如何获得对标签栏或 UITabBarController 的引用。Xcode 不允许我将 UITabBarController 或 UITabBar 的引用出口连接到我的任何自定义视图控制器(可能是因为情节提要上的视图控制器不是静态对象,而是仅在必要时创建并由 segues 关联(?) ,所以你不应该那样做),但这让我无法直接进入标签栏。

这样做的正确方法是什么?

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 回答