UIModalTransitionStylePartialCurl无法旋转

12

我有一个使用UIModalPresentationFullScreen和TransitionStyle为UIModalTransitionStylePartialCurl显示的模态视图控制器,这个效果非常棒。

我的问题是,当设备旋转时,我的视图会跟着旋转(预期操作),但是"curl"效果不会旋转。 有人知道这是否是设计上的限制,还是需要做其他处理?谢谢。

3个回答

3
根据我的经验,UIModalTransitionStylePartialCurl风格会使涉及的两个视图控制器处于半悬浮状态,它们不遵循正常规则。另一个例子是,部分卷曲模态呈现似乎不尊重视图层次结构的模态覆盖,这意味着当您堆叠模态视图时,如果显示了堆栈中较高的模态,则它应该接管,但是部分卷曲会阻止此操作。
例如,显示其他视图的模态视图: 视图1->视图2->视图3 告诉视图1以模态方式显示视图4 视图1->视图4 如果视图3作为部分卷曲显示,则请求显示视图4时将不会发生任何事情。
此外,在部分卷曲下无法以模态方式显示其他视图(官方文档说明了这一点,这本质上意味着它不像正常的模态显示那样工作)。 例如, 视图1->视图2(部分卷曲) 告诉视图2以模态方式显示视图3 什么也不会发生
在我看来,苹果还没有完全推出UIModalTransitionStylePartialCurl风格,这很遗憾,因为它非常棒。长话短说,当使用它进行除翻转以外的任何操作时,请预期会出现问题,因为它不像预期的那样运行。

2
当我遇到这个问题时,我决定在deviceDidRotateSelector中自动关闭模态呈现的视图,从而避免了这个问题。

这实际上也是一个很好的解决方案。谢谢分享。 - Mongo

0

检查您正在呈现的ViewController是否已实现shouldAutorotateToInterfaceOrientation:方法并返回所需的值。


是的,视图旋转得很好。卷曲效果没有旋转。 - Mongo
1
现在我明白了。卷起来的父视图保持与之前相同的方向,只有模态视图随设备方向改变而旋转。我认为你需要手动旋转父视图,因为它目前不是活动状态。 - chaos0815

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接