auto布局中的UIButton动态宽度

时间:2015-11-06 13:47:17

标签: ios uibutton autolayout

大家好,我有一个。 当我移除或隐藏一个按钮时我在控制器中有两个按钮我希望其他按钮根据宽度增加尺寸。 我在这里使用自动布局,所以请相应地发布您的答案

enter image description here enter image description here

当我隐藏按钮时,请看上面的图像,其他按钮应该按照尺寸进行调整。

3 个答案:

答案 0 :(得分:2)

  1. 设置创建布局所需的所有约束,如第一个屏幕截图
  2. 在IB中
  3. 选择"时间按钮"并且"现金支付"按钮并添加约束以对齐其后边缘
  4. 选择这个新的" trailing-edges-constraint"并将其设置为高(750)
  5. 的优先级
  6. (重复&#34的步骤1-3;立即付款"按钮,但这次与前沿对齐)
  7. 那就是它!

答案 1 :(得分:0)

FDStackView

使用UIStackView就好像它支持iOS 6.它会在iOS 9之前的运行时自动将UIStackView的符号替换为FDStackView。

或者你可以使用UIView数组来保存你想要的按钮。数组的第一个和最后一个元素是1px宽度0.01 alpha UIView。使第一个左边对齐到屏幕左边,最后一个右边对齐到屏幕右边。

您需要做的就是将按钮放在数组中,并确保每个按钮都在1px视图之间。

答案 2 :(得分:0)

您可以通过创建“宽度约束”的出口来手动添加此约束,如下所示:

enter image description here

无论您想在哪里重新设置宽度,都可以手动执行,

   - (IBAction)buttonClicked:(id)sender 
{
    [UIView animateWithDuration:0.15 animations:^{
        _widthConstraint.constant = 100;
    }];
    [self.view layoutIfNeeded];
    [self.view updateConstraints];
}