我有一个 Storyboard ,带有一个初始的初始 View Controller ,其后是一个标签栏 Controller ,导航 Controller 和tableview Controller 。我需要提供一个来自我的tableview Controller 的操作表。

[UIActionSheet showInView:self.view]不起作用,因为未检测到标签栏区域内的触摸,因此必须使用[UIActionSheet showInTabBar:tabBar]。

我的问题是如何获得对选项卡栏或UITabBarController的引用。 Xcode不允许我将UITabBarController或UITabBar的参考插座连接到我的任何自定义 View Controller (大概是因为 Storyboard上的 View Controller 不是静态对象,而是仅在必要时创建并且由segues(?)关联。 ,因此您不应该那样做),但这使我无法直接进入标签栏。

什么是正确的方法?

最佳答案

在这个问题上可能有一个更好的答案:
Storyboard - UITabBarController

简而言之,将根 View Controller 从您的appdelegate的窗口中拉出。

我只是在viewWillAppear中执行了以下操作,以隐藏该特定 View 的标签栏:

AppDelegate *ap = (AppDelegate *)[[UIApplication sharedApplication] delegate];
UITabBarController *tc = (UITabBarController *)[[ad window] rootViewController];
[[tc tabBar] setHidden:YES];

关于uitabbarcontroller - 使用 Storyboard 获取UIActionSheet showFromTabBar的TabBar引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13424186/

10-14 23:31