ios - 从 UITabBarController 初始化 viewController

标签 ios swift uikit uitabbarcontroller

我有一个 UITabBarController。使用界面生成器我添加了多个 View Controller 。这些 viewControllers 都是同一个类,但唯一改变的是参数。

我想扩展 UITabBarController,以便在初始化 View Controller 时添加此参数,但我不知道如何在 UITabBarController 扩展中执行此操作。在哪里做这个合适的地方???

最佳答案

我也遇到过这样的问题,我想在标签栏 Controller 的第五个标签中显示弹出 View Controller , 我用过这个:

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {

    if(viewController == tabBarController.viewControllers?[4]){
        let storyboard : UIStoryboard = UIStoryboard(name: "AfterLogin", bundle: nil)
        let vc = storyboard.instantiateViewController(withIdentifier: "MorePopUpVC")
        vc.modalPresentationStyle = .popover
        let popover = vc.popoverPresentationController
        popover?.delegate = self
        popover?.permittedArrowDirections = .down
        popover?.sourceView = self.tabBar
        popover?.sourceRect = ((self.orderedTabBarItemViews()).last?.frame)!
        vc.preferredContentSize = CGSize(width: 120, height: 132)
        present(vc, animated: true, completion:nil)
        return false
    }
    return true
}

这就是我如何更改第五个选项卡的操作,

你可以像这样使用它:

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {

        let storyboard : UIStoryboard = UIStoryboard(name: "YOUR STORYBOARD NAME", bundle: nil)
        let vc = storyboard.instantiateViewController(withIdentifier: "YOUR VIEW CONTROLLER IDENTIFIER")
        if(viewController == tabBarController.viewControllers?[4]){
            vc.type = "PARAMETER YOU WANT"
        }
        present(vc, animated: true, completion:nil)
        return false
}

我认为它有帮助。

关于ios - 从 UITabBarController 初始化 viewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44885514/

相关文章:

ios - 根据 View 设置按钮一侧的角半径?

ios - 如何使用 Phonegap 处理 iOS 上的后退按钮?

ios - 无法将类型 "Any"的值分配给类型 "String?"Swift 3 (iOS)

enums - 当协议(protocol)包含 Swift 中的枚举时检查协议(protocol)一致性?

ios - 不能在属性初始值设定项 DropDown 库中使用实例成员

iphone - 自定义 UISegmentedControl

ios - 删除按钮 ios swift 的所有动画

ios - 自定义 UIView subview 强与弱的最佳实践

ios - 在 UITapGestureRecognizer 上添加参数

objective-c - 如何使用 "Splash"UIViewController 有条件地重定向到另一个 View Controller ?