iOS - 以编程方式添加新视图以使用我的故事板自动布局 viewcontroller
iOS - Programatically add a new view to work with my storyboard autolayout viewcontroller
我正在使用带有自动版式的故事板,其中 viewcontroller 充满了视图、按钮、标签、table...
我想在该视图的顶部、导航栏下方、单击按钮时创建一个新视图,并在再次单击它时将其隐藏。
我想以编程方式执行此操作。这意味着该视图将出现在顶部,其余视图将不得不向下移动该新视图的高度。当此视图消失时,视图将再次向上移动。
执行此操作的最佳方法是什么?我试图在情节提要中创建一个 height = 0 的视图并更改代码中的高度。有更好的方法吗?
所有需要下移的视图应该放在一个UIView
中。并且您的代码应该有一个用于此视图的 IBOutlet。
当您以编程方式创建新视图时,您会知道它的高度。
现在您可以调用第一个视图的 setFrame
并将其向下移动。
您好,由于您使用的是自动布局,我建议采用 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;
}
}
我正在使用带有自动版式的故事板,其中 viewcontroller 充满了视图、按钮、标签、table...
我想在该视图的顶部、导航栏下方、单击按钮时创建一个新视图,并在再次单击它时将其隐藏。
我想以编程方式执行此操作。这意味着该视图将出现在顶部,其余视图将不得不向下移动该新视图的高度。当此视图消失时,视图将再次向上移动。
执行此操作的最佳方法是什么?我试图在情节提要中创建一个 height = 0 的视图并更改代码中的高度。有更好的方法吗?
所有需要下移的视图应该放在一个UIView
中。并且您的代码应该有一个用于此视图的 IBOutlet。
当您以编程方式创建新视图时,您会知道它的高度。
现在您可以调用第一个视图的 setFrame
并将其向下移动。
您好,由于您使用的是自动布局,我建议采用 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;
}
}