我需要使用Autolayout在UIView
(由UINavigationBar
拥有)的正下方UINavigationController
。{/ p>
这里棘手的问题是UIView
需要成为UIApplication
主UIWindow
的子视图。
插入的视图需要跟踪导航栏的位置,例如,如果iOS状态栏增长到双倍高度(例如,在绿色"返回呼叫"场景中),或者更改高度,如景观观。
解决方案还需要使用透明的UINavigationBar
,其中视图控制器的edgesForExtendedLayout
未设置为无。
答案 0 :(得分:0)
您是否按照this Ray Wanderlich's tutorial(布局指南)中的说明尝试使用topLayoutGuide
了?
你应该能够达到预期的结果 - 而不必计算navBar的高度 - 用这样的东西:
let views = ["myView": myView, "topLayoutGuide":topLayoutGuide]
let verticalConstraints = NSLayoutConstraint.constraintsWithVisualFormat(
"V:[topLayoutGuide]-[myView(30)]",
options: [],
metrics: nil,
views: views)