我有2个按钮彼此相邻,并在屏幕上均匀分布。在他们被设置为均匀大小的那一刻。现在其中一个按钮需要动态删除,所以我想在删除第一个按钮后一直跨越第二个按钮。问题是我不确定我是否可以在故事板中使用Autolayout来做到这一点。按钮当前外观的基本示例。
20px - BUTTON 1 - 10px - BUTTON 2 - 20px
在
20px - BUTTON2 - 20px
答案 0 :(得分:1)
first your view look like this.
20px - BUTTON 1 - 10px - BUTTON 2 - 20px
在底部按钮下方:
[self.buttonOneOutlet removeFromSuperview];
self.buttonTwoOutlet.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.buttonTwoOutlet attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeading multiplier:1.0 constant:20.0]];
答案 1 :(得分:0)
答案 2 :(得分:0)
一种方法是将两个按钮分组到水平堆栈视图中。如果将堆栈视图的间距设置为10,则它将保持按钮之间的间距。约束堆栈视图的前沿和后沿以获得任意一侧的20点偏移。
关于堆栈视图的有用之处在于,如果将按钮1的hidden
属性设置为YES
,它将消失,堆栈视图将负责更新约束。它会将自己的内容大小更新为足以仅按住按钮2,并且10点间距不会产生任何影响。但是,如果您将按钮1的hidden
属性设置为NO
,它将返回原始状态。