为什么按钮不能动画?

时间:2012-11-17 11:53:33

标签: objective-c ios animation uianimation

我想点击_transitButton来致电onTransitButtonDidClick以移动_rightView。 问题是按钮不能像我设置self.transitButton.frame = CGRectMake(0, 0, 30, 20);那样。

更新

_transitButton原始框架为(0,280,30,20) 结果是,按钮从原始帧移动到(0,0,30,20),但很快就会移回原始点。 为什么要回去?

为什么以及如何解决这个问题?

- (IBAction)onTransitButtonDidClick:(id)sender {
    [UIView animateWithDuration:0.3
                      delay:0.0
                    options:UIViewAnimationCurveEaseInOut
                 animations:^{
                     [_rightView setFrame:CGRectMake(40,0,320,548)];
                     [_transitButton setFrame:CGRectMake(0,0,30,20];
                 }
                 completion:nil];
}

1 个答案:

答案 0 :(得分:3)

您在xib中使用autolayout并且约束将按钮保持在原位。 使用动画它似乎工作,因为约束没有评估动画。

因此要么关闭此xib的AUTOLAYOUT,要么修改相应的约束。

(我尝试使用一个小样本应用程序,就是这样。)