UIView在UINavigationBar下方使用Autolayout
我需要在UINavigationBar
(由UINavigationController
拥有)下使用Autolayout来挂接一个UIView
。
这里棘手的是UIView
需要成为UIApplication
主UIWindow
的子视图。
插入的视图需要跟踪导航栏的位置,例如,如果iOS状态栏增长到双倍高度(例如,在绿色的“返callback用”场景中),或者在横向视图中更改高度。
该解决scheme还需要使用透明的UINavigationBar
,其中视图控制器的edgesForExtendedLayout
没有设置为None。
您是否尝试使用这个Ray Wanderlich的教程 (部分布局指南 )中介绍的topLayoutGuide ?
你应该能够达到预期的结果 – 而不必计算navBar的高度 – 像这样的东西:
let views = ["myView": myView, "topLayoutGuide":topLayoutGuide] let verticalConstraints = NSLayoutConstraint.constraintsWithVisualFormat( "V:[topLayoutGuide]-[myView(30)]", options: [], metrics: nil, views: views)
- 当Autolay正在播放时,用UIDynamicAnimator进行animation处理
- 内容拥抱优先级dynamic单元格大小
- 在Xcode 5中为超级视图添加间隔约束
- UICollectionView – iOS 10 – iPhone 6 Plus模拟器崩溃,但适用于真实设备
- 在iOS 7上的UITableViewCell之间绘制自定义分隔线
- 当以编程方式设置提示时,UINavigationBar与UITableView重叠
- 如何使用自动布局更改uiview的高度?
- 在单元格使用AutoLayout时设置UICollectionViewCell大小
- 出现视图后应用iOS 8 / XCode 6自动布局约束