对不起我的英语,我在制作视图动画时遇到了一些麻烦,
我有一个按钮,我想在按下按钮时移动pushView。
这是我的代码:
- (IBAction)buttonDidClicked:(id)sender {
[UIView animateWithDuration:0.3
delay:0.0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
CGRect frame = self.greenView.frame;
frame.origin.x -= 100;
self.someView.frame = frame;
} completion:^(BOOL finished) {
}];
}
这里的工作非常好。
但是当我改变一些UI的属性,比如label.text,
像那样:- (IBAction)buttonDidClicked:(id)sender {
[UIView animateWithDuration:0.3
delay:0.0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
CGRect frame = self.greenView.frame;
frame.origin.x -= 100;
self.greenView.frame = frame;
} completion:^(BOOL finished) {
int i = [self.label.text intValue];
i++;
self.label.text = [NSString stringWithFormat:@"%d", i];
}];
}
pushView将移回到第一位。
我有一个视频来解释:http://youtu.be/eJ9CaTkSaPU
错误恰好发生在iOS 8.1中,
在iOS 7.1或之前它会正常工作。
如何解决问题?
非常感谢
答案 0 :(得分:0)
回答我的自我,
问题是由于自动布局,
当我禁用自动布局时,
问题得以解决。
datail可以引用的内容越多:Animation Blocks resets to original position after updating text