我已经看过关于这方面的各种主题,但我不能让它们中的任何一个在Xcode9的iOS 11中工作。
我试图使一个完全清晰的navigationBar,但我的生活中,我无法摆脱“磨砂”的外观,我也无法摆脱底部蚀刻。
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.navigationBar.isTranslucent = true
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.view.backgroundColor = .clear
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.backgroundColor = .clear
navigationController?.navigationBar.barTintColor = .clear
}
我遗漏了什么?
发布于 2017-10-13 01:13:50
您更改了使其透明所需的所有属性,因此问题就不存在了。一些你可以检查的东西也可能是一个问题:
UINavigationBar.appearance()
全局definitionUINavigationController
UINavigationBar
extensionsviewDidLoad
,viewWillAppear
,viewDidAppear
,layoutSubviews
...)无论是在测试的类中还是在Storyboard/XIB发布于 2017-10-13 21:44:14
因此,在使用Xcode9的默认Master-Detail模板创建了一个项目后,我确定问题不是DerivedData,而是“推入另一个导航控制器”。我的项目结构如下:
What Xcode 9 Generated with Master/Detail template
我将其更改为以下内容:
Drop the split view controller & extra navigationcontroller
在这样设置了我的故事板之后,一切都成功了……然而,令我惊讶的是,使用第二个导航控制器(其中嵌入了DetailViewController )不起作用。有人知道为什么吗?
发布于 2017-11-12 04:07:48
试试navigationController?.navigationController?.navigationBar
拆分视图控制器在水平紧凑的环境中将详细导航控制器放入主导航控制器中。
因此有两个导航控制器和两个导航栏。您更改了一个导航栏,但显示了另一个导航栏
https://stackoverflow.com/questions/46714653
复制相似问题