问题是我的UIView
中包含UITableView
和ScrollView
的视图隐藏在UINavigationBar
下,如果设置为半透明
我考虑了几个线程,如this,但他们都建议设置:
self.edgesForExtendedLayout = UIRectEdgeNone
在Swift 2中,这段代码是:
self.edgesForExtendedLayout = .None
我今天已更新到Xcode 8.1和Swift 3.0.1,但我在release notes中找不到关于此事的任何内容。
编译器告诉我,.None
已更改为.none
,但在编辑后,.none
不存在。将其更改为.top
没有任何影响。
tableView以编程方式设置,并且insets
无效,因为scrollView
UIView
UITableView
位于UINavigationBar
之上,隐藏在{QGuiApplicationPrivate::platformIntegration()->fontDatabase()->populateFontDatabase();
之下1}}。
我错过了什么?非常感谢帮助。
答案 0 :(得分:113)
将其设为[]
。这与没有一样。
答案 1 :(得分:14)
self.edgesForExtendedLayout = UIRectEdge.init(rawValue: 0)
答案 2 :(得分:1)
我不知道如何,但是我只是在viewDidLoad()中添加以下代码 self.navigationController?.navigationBar.isTranslucent = false 它解决了我的问题。
答案 3 :(得分:1)
SWIFT 5解决方案
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.edgesForExtendedLayout = []
}