我正在使用自动布局的故事板,我有一个充满视图,按钮,标签,桌子的viewcontroller ......
我想在点击按钮时在导航栏下方的视图顶部创建一个新视图,然后再次点击它后隐藏它。
我想以编程方式执行此操作。这意味着此视图将显示在顶部,其余视图将必须向下移动该新视图的高度。当此视图消失时,视图将再次向上移动。
最好的办法是什么?我试图在storyboard中创建一个高度为0的视图,并在代码中更改高度。有更好的方法吗?
答案 0 :(得分:0)
需要移动的所有视图都应放在一个UIView
中。并且您的代码应该具有此视图的IBOutlet。
以编程方式创建新视图时,您将知道它的高度。
现在,您可以拨打第一个视图的setFrame
并将其向下移动。
答案 1 :(得分:0)
嗨,因为您正在使用自动布局我建议您将IBOutlet用于要放置在导航栏下方的视图的高度约束并在代码中更改
这是一个示例
//IBOutlet for height constraint of view
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *conHeightTopView;
- (void)changeHeight:(BOOL)change{
if (change) {
_conHeightTopView.constant = 50;//Height of view when shown
}else{
_conHeightTopView.constant = 0;
}
}