设置标签栏的初始视图控制器

Posted

技术标签:

【中文标题】设置标签栏的初始视图控制器【英文标题】:Setting the initial view controller for tab bar 【发布时间】:2014-08-11 17:52:34 【问题描述】:

我正在尝试创建一个带有标签栏控制器的 ios 项目。本质上,我要做的是使特定的选项卡选择默认为初始视图控制器或导航控制器的顶部视图控制器。

Tab Bar Controller ---> Tab 1 ---> Navigation Controller ---> ViewCon1 --->ViewCon2 ---> 选项卡 2 ---> 选项卡 3

这是一个例子。如果我们在 Tab 1 中导航到 ViewCon2,点击 Tab 2,然后返回 Tab 1,我们将看到我们将返回到 ViewCon2。我想要做的是让标签栏控制器默认为 ViewCon1。我尝试创建 UITabBarController 的子类,但我无法真正找到我正在寻找的正确 API 集。有人有什么建议吗?

【问题讨论】:

我认为你正在寻找的电话是: - (NSArray *)popToRootViewControllerAnimated:(BOOL)animated; (移动到你的 rootviewcontroller) 这似乎成功了。但是,为了实现该功能,我最终不得不实现一个标签栏视图控制器。改用标签栏委托会更好吗?如果是这样,我们可以在哪里实现委托方法(我在想 AppDelegate,但我不确定这是否一定是个好主意)。 将评论移至回答,因为它回答了您的问题。请参阅代表信息的答案。 【参考方案1】:

我认为您正在寻找的电话是:

- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated; //(to move to your rootviewcontroller)

委托是一个帮助类,通常在项目中发生某些事情时调用,即当标签栏中发生某些事情时,它会调用委托中的例程。您可以将委托与您的 tabBarViewController 设置为同一类。

【讨论】:

以上是关于设置标签栏的初始视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

关闭模态视图并调用初始视图控制器

如何处理标签栏的推送通知,我的标签栏控制器远离根视图控制器

如何将“更多”标签栏的编辑视图的导航栏设置为黑色?

标签栏的背景颜色 更多按钮视图

iOS5如何“懒惰地”初始化标签栏的控制器?

UITabbarController + UINavigationController,使用 UIToolbar 代替标签栏的详细视图