【问题标题】:Navigation bar is not displayed in Swift 5Swift 5 中不显示导航栏
【发布时间】:2021-09-12 12:20:33
【问题描述】:

我一直在开发 iOS 应用程序,并试图在我的应用程序中显示导航栏。我使用故事板来处理一些基本的 UI,但对于导航栏等其他部分,我正在尝试通过代码来实现它。

在 AppDelegate.swift 文件中,我输入了以下代码。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
    window = UIWindow(frame: UIScreen.main.bounds)
    UINavigationBar.appearance().tintColor = .black
    window?.rootViewController = FirstViewController()
    window?.rootViewController?.view.backgroundColor = UIColor.white
    window?.makeKeyAndVisible()
    return true
}

但是,导航栏没有出现在 FistViewController 上。

在FirstViewController中,我还把下面的代码放到viewwillappear函数中来显示导航栏。

self.navigationController?.isNavigationBarHidden = false
self.navigationController?.navigationBar.barStyle = .black

正如我所说,我有一个情节提要,但我仅将其用于将 FirstViewController 设置为 isInitialView 控制器。我在 FirstViewController 上也有一个表格视图,我可以看到它,但我没有看到导航栏。

所以我想知道我在编写显示导航栏的代码时是否犯了错误......

有人知道我在这里缺少什么吗?

【问题讨论】:

    标签: ios swift xcode uinavigationcontroller


    【解决方案1】:

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    let viewController = FirstViewController()
    let navigationController = UINavigationController(rootViewController: viewController)
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
    self.window?.rootViewController = navigationController
    self.window?.makeKeyAndVisible()
    return true
    

    }

    【讨论】:

      【解决方案2】:
      let viewController = FirstViewController()
      let navVc = UINavigationController(rootViewController: viewController)
      window?.rootViewController = navVc
      

      您看不到导航栏,因为您没有将当前的视图控制器嵌入到导航控制器中。

      【讨论】:

        【解决方案3】:

        由于您使用的是故事板,因此您应该将 ViewController 嵌入到导航控制器中。你可以这样做,

        1. 首先打开您的Main.storyboard 文件
        2. 选择您的初始 ViewController
        3. 进入Editor > Embed in > Navigation Controller

        或者您可以通过参考@jignesh 的答案以编程方式完成

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-19
          相关资源
          最近更新 更多