【问题标题】:Can not see the navigation bar in screen在屏幕上看不到导航栏
【发布时间】:2022-01-03 18:48:26
【问题描述】:

单击按钮时,我正在尝试使用导航栏打开新的 UIViewController。

但是我看不到导航栏。我只看到我给了背景颜色的东西。

这是显示我的 UIViewController 的代码

@objc func ActionButtonTapped() {
    let nav = UINavigationController(rootViewController: UploadTweetController())
    nav.modalPresentationStyle = .fullScreen
    present(nav, animated: true, completion: nil)
}
    

控制器的viewDidLoad函数

override func viewDidLoad() {
    super.viewDidLoad()
    view.backgroundColor = .red
} 

我也尝试了 nav.isNavigationBarHidden = false 和 nav.NavigationBar.isHidden = false 但没有奏效。

【问题讨论】:

  • 在您的viewDidLoad 中添加self.title = "Your Title"

标签: ios swift swift5


【解决方案1】:

您的代码运行良好。但默认情况下,导航栏是透明的。而你没有给它任何内容。所以它在那里,但你看不到它。

(如果您不相信我,请使用 View Debugger。)

【讨论】:

  • 那么,我该怎么做才能看到。我将 `navigationController?.navigationBar.isTranslucent = false navigationController?.navigationBar.backgroundColor = .systemGray` 添加到 viewDidLoad,正如你所说,我可以看到导航栏,但这次我的导航栏没有覆盖屏幕顶部,我看到黑色和导航栏上的灰色。
  • 我不知道您在更改后看到了什么。这不是我会做出的改变。就个人而言,我会使用 UINavigationBarAppearance(如许多现有答案中所述)。
  • 您好@matt,抱歉回复晚了。我已经尝试了您推荐的解决方案并且它有效。感谢您的建议和关注
猜你喜欢
  • 2020-03-06
  • 1970-01-01
  • 1970-01-01
  • 2015-02-28
  • 1970-01-01
  • 1970-01-01
  • 2022-08-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多