我有以下代码来动画我的应用程序中的一些视图:
void (^animate)() = ^() {
CGRect leftFrame = centerFrame;
leftFrame.origin.x -= centerFrame.size.width;
newViewController.view.frame = centerFrame;
oldViewController.view.frame = leftFrame;
};
if (animated) {
[UIView animateWithDuration:0.3f
delay:0.0f
options:nil
animations:animate
completion:^(BOOL finished){}];
} else {
animate();
}
这在 iOS 6 上正确动画,但在 iOS 7 上没有动画。奇怪的是,块内的代码确实被调用并且视图确实更新,只是没有考虑动画持续时间。
这个块没有被调用是有原因的吗?