我打电话
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
在viewDidLoad中。
导航栏下方的分隔线消失。问题是,状态栏变为白色。我希望它与导航栏保持相同的颜色。
如果只是
self.navigationController?.navigationBar.shadowImage = UIImage()
viewDidLoad中的,如下所示:
导航栏下面的我有一个与导航栏完全相同的颜色。我想将它混合成一个,所以看起来导航栏下方的视图是导航栏的一部分。
答案 0 :(得分:0)
这对我有用。你能看看这个答案吗?
self.navigationController?.navigationBar.isTranslucent = false
self.navigationController?.navigationBar.barTintColor = UIColor.blue
self.view.backgroundColor = UIColor.blue
// Add your colour
答案 1 :(得分:0)
您致电self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
后状态栏变为白色,因为viewController.extendedLayoutIncludesOpaqueBars
为NO
,因此当您为navigationBar设置不透明背景图片时,navigationBar的背景将不会从{ {1}}但来自0
,状态栏后面没有任何内容,状态栏显示为白色。
因此,您必须致电20
以避开白色状态栏。
自定义shadowImage仅在为viewController.extendedLayoutIncludesOpaqueBars = YES
设置自定义背景图像时才有效。