我想点击_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];
}
答案 0 :(得分:3)
您在xib中使用autolayout并且约束将按钮保持在原位。 使用动画它似乎工作,因为约束没有评估动画。
因此要么关闭此xib的AUTOLAYOUT,要么修改相应的约束。
(我尝试使用一个小样本应用程序,就是这样。)