【发布时间】:2018-03-01 22:06:01
【问题描述】:
应该有一个简单的解决方案来解决这个问题。两个 UIButton,添加和删除。删除是可选的隐藏。当两个按钮都显示时,我希望将它们的中心定位在与侧面等距的位置;当只显示 Add 时,我希望将其居中。
同时显示时的代码:
let x1 = self.view.frame.width / 3
let x2 = 2.0 * x1
self.addBtn.center.x = x2
self.deleteBtn.center.x = x1
self.deleteBtn.isHidden = false
两个 UIButton 都在我的故事板中,具有顶部和底部布局约束。执行上述代码时,两个 UIButton 都呈现在超级视图的最左侧,而不是上面的 x1/x2 位置!当只渲染 Add 按钮时(使得它的中心 X 轴位置是 superview 框架的中心),也被渲染到最左边!
我认为布局约束有些可疑。为什么仅垂直布局约束会影响手动重置 UIButton 的 X 轴位置是否有效?
谢谢。
【问题讨论】:
-
我想我已经回答了我自己的问题。见related article。这个想法是,如果涉及布局约束,那么您可以在逻辑中修改约束以重新定位 UIButton,无论它们位于超级视图的 X 轴上的任何位置。
标签: ios swift uiview uiviewcontroller uibutton