【发布时间】:2018-05-21 01:01:27
【问题描述】:
这个问题要求在 Swift 4、iOS 11 中实现
有没有什么办法可以让ViewController的每一个子视图在UINavigationBar下时都被下推?
如果导航栏不是半透明的,则子视图位于其下方。这就是我想要的。
但是当导航栏是 TRANSLUCENT 时,子视图位于其下方。我不想要它。我希望子视图被按下,就像导航栏不透明一样。
我以编程方式创建视图:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.red
let navBar = (self.parent as? UINavigationController)?.navigationBar
navBar?.isTranslucent = true
}
func makeChildView() {
let myframe = CGRect(x: 0, y: 10, width: self.view.frame.width, height:
self.view.frame.height * 0.4)
let view = UIView(frame: myframe)
view.backgroundColor = UIColor.green
self.view.addSubview(view)
}
使用自动布局
我可以使用自动布局来解决这个问题。但我只想知道如果可能的话,如何在没有自动布局的情况下实现这个结果。还有其他方法吗?
【问题讨论】:
-
代码请使用markdown而不是图片。
-
好的,我来写吧。我很抱歉。
标签: ios swift cocoa-touch uiview