按下视图控制器后,导航栏将不会显示

时间:2018-10-06 10:39:01

标签: ios swift uinavigationcontroller

我正在尝试从View Controller迁移到另一个。 当用户点击按钮以移至新的视图控制器时,我会使用此功能:

    @objc private func infoButtonTap(){
    let navVC = UINavigationController()
    navVC.addChild(AboutViewController())
    self.navigationController?.pushViewController(AboutViewController(), animated: true)
}

问题是新的视图控制器显示在屏幕上,但是我没有导航栏和后退按钮才能后退。 我不使用Storyboard,因为我想学习编码UI。 我尝试了一些在Stackoverflow上找到的东西,但没有一件对我有用。 如何将新的视图控制器设置为带有带有后退按钮的导航栏?

3 个答案:

答案 0 :(得分:1)

您需要推送视图Controller。试试这个

data

答案 1 :(得分:0)

要使导航可见并在应用程序中使用,首先需要使用Root视图控制器(即第一个控制器)设置导航控制器,然后从那里可以在导航控制器对象上使用push方法来推送控制器进入堆栈。

例如

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar_menu"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#000000"
    android:textColor="#FFF"
    android:textColorPrimary="#FFF"
    android:theme="@style/Toolbar"
    app:layout_constraintTop_toTopOf="parent"
    app:titleTextColor="#FFF"
    app:title="@string/app_name"/>

答案 2 :(得分:0)

UINavigationController具有变量 isNavigationBarHidden

@objc private func infoButtonTap(){
    let navVC = UINavigationController()
    navVC.addChild(AboutViewController())
    self.navigationController?.isNavigationBarHidden = false
    self.navigationController?.pushViewController(AboutViewController(), animated: true)
}