移动到下一个UIViewController时保持UINavigationController但隐藏UITabBarController

时间:2016-02-07 07:37:30

标签: ios swift uiviewcontroller uinavigationcontroller uitabbarcontroller

我有一个UITableViewController嵌入UINavigationControllerUITabBarController

当我选择一行时,我想在UIViewController中打开UINavigationController,但不要在UITabBarController中打开。

当我从segue中的单元格UIViewController创建Interface Builder时,我选择了Show (eg. Push)

问题在于它还保留了UITabBarController

然后我尝试了其他类型的segue,但没有一个显示UINavigationController

我考虑在self.tabBarController?.tabBar.hidden = true中添加viewDidLoad()并覆盖willMoveToParentViewController

override func willMoveToParentViewController(parent: UIViewController?) {
    super.willMoveToParentViewController(parent)

    if parent == nil {
        self.tabBarController?.tabBar.hidden = false
    }
}

除非我进行驱动转换(从边缘开始回到父视图控制器),它才能正常工作。

如何正确地做到这一点?

1 个答案:

答案 0 :(得分:4)

UIViewController有一个名为var text = myProjectpage.model.currentChoices.TextLine1Text; layer_InHTML = "<span style='font-size:2.5em;'>"+text.substr(0,text.length-1)+"</span>"+text.substr(text.length-1); 的属性,可以完全按照您的意愿执行。

只需设置hidesBottomBarWhenPushed就可以了![/ p>

请参阅Apple's documentation

编辑:如果您正在使用Interface Builder构建视图,那么实际上您可以单击一个复选框,因此您不必以编程方式设置它。

screenshot of checkbox in interface builder