【发布时间】:2018-10-09 17:15:10
【问题描述】:
我从没有导航栏的屏幕移动到有导航栏的屏幕。 转到导航栏屏幕时,该栏不包含在任何安全区域约束中,并且与 iPhone X 上的状态栏重叠。我寻找了一个解决方案,但对我没有任何效果。 如何使导航栏符合 iPhone X 上的安全区域指南,使其不会重叠? 另外,它的高度似乎太短了,但我想这可以通过约束来解决。
提前致谢!
AppDelegate:
var window: UIWindow?
var navigationController: UINavigationController?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
window = UIWindow(frame: UIScreen.main.bounds)
if let window = window{
let mainVC = ViewController()
navigationController = UINavigationController(rootViewController: mainVC)
window.rootViewController = navigationController
window.makeKeyAndVisible()
}
return true
}
这是我用来从 ViewController 移动到 AboutViewController 的方法:
@objc private func infoButtonTap(){
let aboutVC = AboutViewController()
self.navigationController?.pushViewController(aboutVC, animated: true)
}
编辑: 这是它的外观: https://imgur.com/syuQaUn
关于VC:
这一行在 viewDidLoad 中:
navigationController?.isNavigationBarHidden = false
使导航栏可见。
【问题讨论】:
-
如果您的问题已解决,请忽略此评论。您能否确认您仅使用与 navigationController 关联的 navigationBar 来进行显示?或者,您的 AboutViewController 类或界面构建器中是否使用了任何其他自定义导航栏?因为,否则一切看起来都很好,不应该引起这个问题。
标签: swift