我想点击_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];
}
最佳答案
您正在 xib 中使用自动布局,并且约束将按钮保持在原位。 对于动画,它似乎可以工作,因为没有针对动画评估约束。
因此,要么为此 xib 关闭 AUTOLAYOUT,要么修改适当的约束。
(我用一个小的示例应用程序试过了,仅此而已。)
关于objective-c - 为什么按钮不能在动画中移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13430277/