是否可以将UIView的顶部固定在导航栏的底部?

Dou*_*ith 3 cocoa-touch uiview ios autolayout nslayoutconstraint

我试图将我的UIView定位在导航栏下方为20pt,但是当我将其相对于视图控制器上的视图进行设置时,它仍位于导航栏下方为20pt,并且我不想对其进行硬编码。

是否可以将其放置在导航栏之外?

and*_*ewz 5

要以编程方式使用topLayoutGuide视图控制器的,请执行以下操作:

override func viewDidLoad() {
    ...
    myView.topAnchor.constraint(equalTo: self.topLayoutGuide.bottomAnchor).isActive=true
    ...
}
Run Code Online (Sandbox Code Playgroud)


Moh*_*shi 4

尝试使用 TopLayoutGuide 添加约束,

TopLayoutGuide 和 self.view 之间的主要区别是,顶部布局指南以 开头bottom of status bar + bottom of navigation bar(if exist),但 self.view 在 iOS 7 中始终从 (0,0) 坐标开始,以实现半透明导航栏。

因此,在您的情况下,您应该尝试从顶部布局指南固定。

顶部布局指南 自我观