2013-01-23 85 views
1

這是我的用戶的iPad要求。兩名用戶正坐在桌子旁邊,桌子之間放着一個iPad。每個用戶都需要通過做一個手勢來將屏幕朝向他的方向「控制」應用程序。這相當於拿起iPad並改變其旋轉角度以面對用戶。關於此問題的幾個問題:如何使用手勢旋轉iPad屏幕而不是物理旋轉設備

1)iOS中是否有任何默認行爲可以執行此操作?

2)你知道任何這樣做的應用程序,所以我可以看到它的行動嗎?

3)最後,我該如何着手爲我的應用程序啓用此功能?該功能應該可用於我的應用程序中的所有UIViewController。

+0

這是根據物理設備方向取代旋轉還是增加它? – Tommy

+0

這將用於擴充它。基本上有2種方式來旋轉它,通過物理設備的方向和手勢(不知道哪一個)。有沒有人看過這個功能在任何應用中使用? – Phamer

回答

0

我在話題方面的專家,但這裏是我的想法:

如果你想也有應用設備旋轉回應,建議稍微複雜一點。不過,如果你想消除有利於自己旋轉的應用程序的物理設備轉動的反應,只有幾個必要步驟:

  1. 阻止自動旋轉的觀點。在的iOS 6,這是作爲實施shouldAutorotate:方法和返回NOsupportedInterfaceOrientations方法只返回要允許在你的控制器層次的視圖控制器的一個方向一樣簡單。在iOS 5及更早版本中,您希望實現shouldAutorotateToInterfaceOrientation:,以僅在視圖控制器中的一個方向返回YES,該視圖控制器位於視圖控制器層次結構的頂部處。

  2. 添加對您想要用於旋轉屏幕(可能是手勢識別器)的手勢有反應的代碼。

  3. 當用戶執行手勢時,旋轉視圖在應用程序視圖層次結構底部的視圖。可能的話,您將旋轉由rootViewController管理的視圖。請記住,您需要處理此視圖的新大小,而不僅僅是方向。爲了影響旋轉,我認爲最好的路線是對視圖的圖層應用仿射變換。如果你不熟悉仿射變換,This會非常有幫助。