アプリでいくつかのビューをアニメーション化する次のコードがあります。
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 ではアニメーション化されません。奇妙なことに、ブロック内のコードが呼び出され、ビューが更新されますが、アニメーションの長さは考慮されていません。
このブロックが呼び出されない理由はありますか?