如何使用手势旋转iPad屏幕而不是物理旋转设备

时间:2013-01-23 23:41:57

标签: objective-c ipad rotation

这是我用户的iPad要求。两个用户正坐在一张桌子旁,桌面上有一台iPad。每个用户都需要能够通过手势将屏幕旋转向他来“控制”应用程序。这相当于拿起iPad并改变其旋转以面向用户。关于这个的一些问题:

1)iOS中是否有任何默认行为才能执行此操作?

2)你知道有没有这样做的应用程序,所以我可以看到它在行动?

3)最后,我如何为我的应用启用此功能?此功能应该适用于我的应用程序中的所有UIViewControllers。

1 个答案:

答案 0 :(得分:0)

我不是这个主题的专家,但这是我的想法:

如果您还希望应用响应设备轮换,则提案有点复杂。但是,如果您想消除物理设备旋转反应,而不是自己旋转应用程序,则只需要几个步骤:

  1. 停止自动旋转视图。在 iOS 6 中,这就像实施shouldAutorotate:方法并返回NOsupportedInterfaceOrientations方法一样简单,只返回您要允许的方向控制器层次结构的处的视图控制器。在 iOS 5 及更早版本中,您希望实现shouldAutorotateToInterfaceOrientation:仅在视图控制器中位于顶部的一个方向上返回YES视图控制器层次结构。

  2. 添加对您要用于旋转屏幕的手势做出反应的代码(可能是手势识别器)。

  3. 当用户执行手势时,请旋转应用中视图层次结构底部的任何视图。可能,您将旋转rootViewController管理的视图。请记住,您需要处理此视图的新大小,而不仅仅是方向。为了影响旋转,我认为最好的方法是将仿射变换应用于视图的图层。如果您不熟悉仿射变换,This非常有用。