这是我用户的 iPad 要求。两个用户坐在一张桌子旁,中间夹着一台 iPad。每个用户都需要能够通过做一个手势来“控制”应用程序,将屏幕向他旋转。这相当于拿起 iPad 并改变它的旋转以面对用户。关于这个的几个问题:
1) iOS 中是否有任何默认行为可以做到这一点?
2)你知道有什么应用程序可以做到这一点,以便我可以看到它的运行情况吗?
3)最后,我该如何为我的应用启用此功能?我的应用程序中的所有 UIViewController 都应该可以使用此功能。
这是我用户的 iPad 要求。两个用户坐在一张桌子旁,中间夹着一台 iPad。每个用户都需要能够通过做一个手势来“控制”应用程序,将屏幕向他旋转。这相当于拿起 iPad 并改变它的旋转以面对用户。关于这个的几个问题:
1) iOS 中是否有任何默认行为可以做到这一点?
2)你知道有什么应用程序可以做到这一点,以便我可以看到它的运行情况吗?
3)最后,我该如何为我的应用启用此功能?我的应用程序中的所有 UIViewController 都应该可以使用此功能。
我不是该主题的专家,但这是我的想法:
如果您还想让应用程序响应设备旋转,则该建议有点复杂。但是,如果您想消除物理设备旋转反应以支持自己旋转应用程序,则只需几个步骤:
阻止视图自动旋转。在iOS 6中,这就像实现shouldAutorotate:
方法和返回一样简单,NO
并且该supportedInterfaceOrientations
方法仅返回您希望在控制器层次结构根部的视图控制器中允许的一个方向。在iOS 5和更早版本中,您希望实现shouldAutorotateToInterfaceOrientation:
仅返回视图控制器中位于视图控制器层次结构顶部YES
的一个方向。
添加对您要用于旋转屏幕的手势做出反应的代码(可能是手势识别器)。
当用户执行手势时,旋转应用程序中视图层次结构底部的任何视图。您可能会旋转由rootViewController
. 请记住,您需要处理此视图的新大小,而不仅仅是方向。为了影响旋转,我认为最好的方法是对视图层应用仿射变换。如果您不熟悉仿射变换,这将非常有用。