快速更改当前 UITabBarController 的 ViewController

标签 swift uitabbarcontroller

我有一个带有 3 个选项卡的 UITabBarController,每个选项卡中分别有 VC1、VC2 和 VC3。在 VC1 中,我有一个按钮,按下该按钮时我想用 VC4 替换 VC1。如何获取 UITabBarController 并将 VC 数组更新为现在的 VC4、VC2、VC3。我可以在 VC1 内部执行此操作还是需要发布 appdelegate 处理的通知?

最佳答案

是的,你可以做到。您可以使用 UITabBarController 方法 setViewControllers:animated,它接受 View Controller 数组。选项卡的显示顺序与您传递给它的数组的顺序相同(从左到右)。因此,只需重新排序数组并使用该数组调用 setViewControllers:animated 即可。请记住,tabBarItem、其图像和标题是根据 View Controller 设置的。因此,如果您重新排序 View Controller ,您的选项卡栏项目也会重新排序。

关于快速更改当前 UITabBarController 的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46586929/

相关文章:

ios - Swift - 文件路径不可用,除非是第一次使用

objective-c - 如何从 Swift 调用 Objective-C 单例?

ios - 如何从 UIActivityItemSource 函数返回多个值

ios - 从 Storyboard更改选项卡栏按钮序列

ios - Sprite Kit 到 UITabBarController

ios - 对包括导航栏和选项卡栏的 View 进行快照

iphone - 隐藏选项卡栏并在该位置添加工具栏

iphone - 即使应用程序终止也更新用户位置

ios - 两个 View 之间的转换适用于 iOS8,但不适用于 iOS9

iphone - 如何禁用出现在 UITabBarController 的“更多”部分中的编辑按钮?