我自定义了导航栏以进行清除。所以我将backgroundImage设置为UIImage(),并且isTranslucent = true。所以我在这里遇到的问题是:这就是我在xib中设置的内容。现在TopConstraints是:10px
与topConstraint =10。当我在模拟器iPhone 5s中运行时:这就是我得到的。屏幕是完美的。尽管我记得,如果我设置isTranslucent = true->我必须将topConstraint设置为高于导航栏的高度,例如:topConstraint = 50. 。但是使用此代码,当我尝试在真实设备中运行时:iPhone 5s。这就是我得到的:
导航栏将覆盖视图。我的模拟器在iOS 11.0中运行,而真实设备在iOS 9.2中运行。有人有同样的情况吗?非常感谢
顺便说一句:我需要将导航栏设置为清晰,因为我们的背景色是从左上角到右下角的渐变色
最佳答案
删除backgroundImage作为UIImage()并尝试以下操作:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.navigationBar.backgroundColor = UIColor.clear
}
并保持topConstraint = 10