隐藏另一个button时居中一个button的约束
我有一个视图控制器上的两个button。 它们高度和宽度相等,间隔很好,以屏幕为中心。 问题是,在某些情况下,其中一个button是隐藏的。 当其中一个button被隐藏时,我想让另一个button居中。
对于我的生活,我一直无法弄清楚如何configuration约束来实现这一点。
我可以移动可见button,使其居中,如果另一个button被隐藏,但似乎只能加载视图后,这使得button“跳”,看起来很愚蠢。
在UIStackView
embedded两个button:
并根据您的需求调整其设置:
结果与button1 hidden == false(未勾选):
隐藏button1的结果== true(打勾):
如果你能够把button放在正确的位置,试着给它制作animation效果。 请注意,这只会影响约束条件的变化,所以如果您正在做其他事情来使button移动,它可能无法正常工作。
UIView.animate(withDuration: 0.5, animations: { //do whatever you're doing to make the button 'jump' to the right position here self.view.layoutIfNeeded() })
这样的故事板约束并不意味着移动,你可以通过不正确地做到这一点,导致大量的用户界面问题。
我的build议? 这并不理想,但只需添加第三个button。 如果必须隐藏一个button,只需隐藏两个button,然后显示第三个button。
- 更正UITableViewHeaderFooterView的子类化和自动布局
- 如何打开/closures故事板中单个视图控制器的自动布局
- iOS:自动布局:当有足够的空间时,并排放置两个button,否则会一个一个放在另一个上面
- 在UICollectionView上animation自动布局约束更改
- 使用Autolayout扩展tableView单元格导致UIViewAlertForUnsatisfiableConstraints
- 使用自动布局缩放UIScrollView
- 按比例自动布局缩放视图
- 根据UITableViewCell中的“UILabel”文本更改“UIView”的宽度
- Autolayout在计算UITableViewCell高度时忽略多行的detailTextLabel(所有样式)