当我点击另一个按钮时,我正在尝试增加按钮的高度(通过动画)。我遇到的问题是,它不是增加它,而是将它降低到起始高度。在对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];
答案 0 :(得分:1)
您可以通过将IBOutlet设置为您在IB中创建的高度约束(在我的示例中称为heightCon),然后设置其常量值的动画来实现此目的,
[UIView animateWithDuration:.4 animations:^{
self.heightCon.constant = 315;
[self.view layoutIfNeeded];
}];