Nic*_*Roy 9 ios autolayout nslayoutconstraint
我有一个显示UINavigationBar视图的UIViewController.这个UINavigationBar是在UINavigationController中自动创建的.
我希望在第一个UINavigationBar上显示第二个UINavigationBar,对于特定模式,从顶部开始翻译动画.
我已经发现,当UINavigationBar自动创建时,更容易在第一个中添加第二个UINavigationBar,只需简单:
[self.navigationController.navigationBar addSubview:secondNavigationBar];
Run Code Online (Sandbox Code Playgroud)
我现在正在尝试添加"y"约束以便能够翻译secondNavigationBar:
self.secondNavigationBarTopConstraint = [NSLayoutConstraint constraintWithItem:secondNavigationBar
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:self.navigationController.navigationBar
attribute:NSLayoutAttributeTop
multiplier:1.0
constant:-secondNavigationBar.height];
Run Code Online (Sandbox Code Playgroud)
然后,
[self.navigationController.navigationBar addConstraint: self.secondNavigationBarTopConstraint];
Run Code Online (Sandbox Code Playgroud)
告诉我
无法修改由控制器管理的UINavigationBar的约束
和
[self.view addConstraint: self.secondNavigationBarTopConstraint];
Run Code Online (Sandbox Code Playgroud)
告诉我
视图层次结构不是为约束准备的
我不熟悉自动布局约束......你的帮助会非常感激:)谢谢!
Aus*_*tin -4
您可以尝试手动设置框架,而不是使用约束,如下所示:
self.navigationController.navigationBar.frame = CGRectMake(0, 44, screenWidth, screenHeight)
这会将 navBar 置于距离顶部 44 像素的位置,从而留出空间来插入另一个栏
| 归档时间: |
|
| 查看次数: |
2348 次 |
| 最近记录: |