Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用视图控制器自定义UIView旋转_Ios_Uiview_Uiviewcontroller_Rotation - Fatal编程技术网

Ios 使用视图控制器自定义UIView旋转

Ios 使用视图控制器自定义UIView旋转,ios,uiview,uiviewcontroller,rotation,Ios,Uiview,Uiviewcontroller,Rotation,我有一个界面,它由两个视图组成,在横向模式下,分别位于屏幕的左侧和右侧。现在,当旋转到纵向时,视图应该彼此重叠,并根据设备方向旋转(我希望ASCII艺术有助于显示我的意思,当用户顺时针旋转设备时,这应该发生) 屏幕本身不应旋转,只应旋转视图。我可能可以通过在自动旋转时交换视图来解决这个问题,但是在切换视图时会出现可见的中断 当我想让两个视图分别旋转时,我该怎么做呢?我在viewwillrotateTorientation:中使用动画实现了类似的效果。本质上,我的想法是在一个动画中移动每个视图的中

我有一个界面,它由两个视图组成,在横向模式下,分别位于屏幕的左侧和右侧。现在,当旋转到纵向时,视图应该彼此重叠,并根据设备方向旋转(我希望ASCII艺术有助于显示我的意思,当用户顺时针旋转设备时,这应该发生)

屏幕本身不应旋转,只应旋转视图。我可能可以通过在自动旋转时交换视图来解决这个问题,但是在切换视图时会出现可见的中断


当我想让两个视图分别旋转时,我该怎么做呢?

我在
viewwillrotateTorientation:
中使用动画实现了类似的效果。本质上,我的想法是在一个动画中移动每个视图的中心(或者,在相同的情况下,帧),该动画甚至在检测到旋转时开始

我的方法的困难在于,我还需要在
视图中移动子视图,因为子视图在移出屏幕或卸载时并不总是通过
视图旋转方向:
获得信息


对于上面的描述,可以使用自动调整大小掩码(在IB中或以编程方式)锚定左上角或A和B的右下角。不过,如果你想像我一样拥有更多的异国情调,那就尝试使用动画。

谢谢你的建议,这就是我目前正在做的。但是移动视图的中心会使一个视图“飞越”另一个视图。我希望得到的是两个视图的印象,它们是静态放置的,并根据设备方向旋转。然后我相信锚定适当的角点是正确的做法。我在一个示例项目中尝试了这一点,但不幸的是,也没有给出预期的结果。它实际上适用于两个视图中的一个(因为它是方形的),但另一个视图仍然需要调整大小。我想为了达到我需要的效果,我必须手动管理视图转换,并在视图控制器上完全禁用自动旋转。我不知道这是不是一条路。
           -----
-------    | A |
| A B | => | B |
-------    -----