【问题标题】:Remove navigation bar from main controller in Xcode?从 Xcode 的主控制器中删除导航栏?
【发布时间】:2014-11-27 02:35:45
【问题描述】:

我在 Xcode 6 中有一个主视图控制器(程序在 swift 中),我有几个按钮可以通向某些导航控制器。当我测试应用程序时,我第一次看到它看起来不错(顶部没有导航栏)。当我单击主视图控制器上的按钮时,它会显示我选择的导航控制器,一切都再次完美运行。当我单击该导航控制器上的条形按钮“返回”以使其再次向我显示我的主视图控制器时,就会出现问题。当我回到主视图控制器时,顶部有一个不应该存在的导航栏。我希望我的主视图控制器顶部没有导航栏。我尝试使用 push、modal 和 show segues 来查看是否可能是问题所在,但我仍然无法弄清楚。对可能发生的事情有什么想法吗?

【问题讨论】:

    标签: ios swift uiviewcontroller


    【解决方案1】:

    听起来您需要重新隐藏导航栏。为此,请添加:

    self.navigationController?.navigationBarHidden = true
    

    到您想要隐藏导航栏的任何视图控制器的viewWillAppear


    为 Swift 3 更新:

    self.navigationController?.isNavigationBarHidden = true
    

    【讨论】:

    • 我在 Xcode 7 (Swift2) 中尝试过同样的事情,但它在这里不起作用:)
    • 在 Swift2/Xcode 7 中为我工作。在默认的新应用设置中,我在方法“override func viewWillAppear(animated: Bool)”的“ViewController.swift”中设置它
    • 属性已改为isNavigationBarHidden
    【解决方案2】:

    在 mainViewController 中,在 viewWillAppear 方法中编写代码隐藏导航栏。 在 Objective-C 中

    -(void)viewWillAppear:(BOOL)animated
    {
       [super viewWillAppear:YES];
       [[self navigationController] setNavigationBarHidden:YES animated:NO];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多