我的APP 是使用StoryBoard 创建的.
今天在一个UIViewController中 进行了很多subView的动画设置.
都是用滑动/点击 手势控制视图进出
比如我会在storyBoard中将某个子视图的坐标设置为 -100; 先让它不显示在界面中, 之后通过手势让它动画到屏幕中间.
创建动画使用的是这样的代码:
if (sender.state == UIGestureRecognizerStateBegan) {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.8];
CGRect frame = self.reminderLabel.frame;
frame.origin.x = 320;
self.reminderLabel.frame = frame;
self.reminderLabel.alpha = 0;
CGRect frame1 = self.centerLabel.frame;
frame1.origin.x = 99;
self.centerLabel.frame = frame1;
self.centerLabel.alpha = 1.0;
[UIView commitAnimations];
}
就是更改两个视图的X坐标. 刚开始几个视图添加后效果很正常. 每次触发手势 动画也跟着动..后来我写了些与动画无关的功能, 突然在运行的时候发现其中某个动画功能无效了, 这个动画在一瞬间执行了我覆盖的X坐标,后又瞬间回到原位. 比如这个视图默认的X坐标为-110 (不显示在屏幕上), 我在手势里触发的方法里设置它坐标为99 (屏幕中间), 动画时间0.8秒, 动画的过程是视图瞬间到达坐标99 又回到了-110; 可我并没有在动画或者其他任何地方将它的坐标又设置成-110, 我试了很多方法, 调整动画代码的位置, 试着使用Block创建动画, 问题依旧, 后来我又添加的一个新的View . 双击屏幕它会从X坐标 320 (屏幕右侧) 移到屏幕中间, 它也有这样的问题.
动画执行了, 跑到了屏幕中间我设置的坐标, 但它自己又回到了storyboard里面设置的坐标.. 我想是不是添加的动画太多了??
因为这个动画异常并不是随机出现的, 而是固定的某个视图异常, 其他都正常