调整UIButton宽度/高度(iOS)的大小 - 如何在不禁用自动布局的情况下解决?

时间:2014-05-02 00:35:39

标签: ios uibutton autolayout

当我点击另一个按钮时,我正在尝试增加按钮的高度(通过动画)。我遇到的问题是,它不是增加它,而是将它降低到起始高度。在对Stackoverflow进行一些搜索后,似乎问题与启用autolayout有关。我尝试禁用自动布局,这正是问题所在。我想知道,如果有一个解决方法不涉及禁用自动布局。这是我的代码:

self.button.frame = CGRectMake(39, 39, 242, 215);
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.4f];

self.button.frame = CGRectMake(39, 39, 242, 315);
[UIView commitAnimations];

1 个答案:

答案 0 :(得分:1)

您可以通过将IBOutlet设置为您在IB中创建的高度约束(在我的示例中称为heightCon),然后设置其常量值的动画来实现此目的,

[UIView animateWithDuration:.4 animations:^{
            self.heightCon.constant = 315;
            [self.view layoutIfNeeded];
        }];