UIViewAnimationOptionTransitionCurlUp

在iPad上使用以下UIView类方法来dynamic交换UIImageView中的不同图像:

[UIView transitionWithView:self.view duration:1.0 options:UIViewAnimationOptionTransitionCurlUp animations:^{[imageView setImage:foregroundImage];} completion:nil]; 

但是,animation似乎没有注意到当前的界面方向。 换句话说,“向上”总是相对于纵向取向。 因此,例如,如果设备处于横向左侧,页面会从左向右(而不是“向上”)curl。 如果我处于倒置方向,则页面从上到下curl等。

任何想法如何让它相对于当前的界面方向curl“起来”,而不是相对于纵向方向curl?

我遇到了同样的问题。 我find了一个解决方法,但不知道为什么你的代码(我采取了同样的方法)没有工作。

我的漫游是为页面中的所有UI元素创build一个包装器(UIView)来进行处理。 我已经使包装视图控制器的视图和包装的所有其他视图子视图的唯一子视图。 并修改目标为包装如下

 [UIView transitionWithView:self.wrapperView duration:1.0 options:UIViewAnimationOptionTransitionCurlUp animations:^{[imageView setImage:foregroundImage];} completion:nil]; 

在你的具体情况下,如果你只需要'imageView'蜷缩,你可以尝试将目标设置为imageView,即

 [UIView transitionWithView:self.imageView duration:1.0 options:UIViewAnimationOptionTransitionCurlUp animations:^{[imageView setImage:foregroundImage];} completion:nil]; 

它在我的项目中工作。 所以看起来如果animation目标是VC的根视图,就会出现这个问题,否则curlanimation就可以find。 有人知道为什么