2011-03-31 69 views
0

我們只是將用戶輸入放入我們的遊戲中,以便用戶可以輸入電子郵件地址等。整個遊戲是Gl,根本沒有iOS UI。 EAGLView不會改變方向,它總是以肖像方式呈現,但是遊戲處於風景中,我們通過相機轉換處理。在iOS(iPad/iPhone)上強制鍵盤和子視圖方向

我們想調出iOS鍵盤並覆蓋文本輸入的UITextView。 UITextView是EAGLView的子視圖。顯然,它和鍵盤在EAGLView縱向顯示時是縱向顯示的。

無需將EAGLView更改爲風景,是否有任何方法可以強制UITextView和鍵盤以橫向顯示?

如果我確實將EAGLView的方向更改爲橫向以獲得此效果,是否會影響性能?我已經多次閱讀過,除了默認的縱向視圖以外,任何GL視圖的定向都會給性能帶來影響,儘管我找不到任何可靠的證據。

謝謝,

+0

從來沒有聽說過這樣的表演 - 但有趣的一點。證據或它從未發生過;) – Till 2011-03-31 12:39:35

+0

如果您在plist中只強制上下導航,它有幫助嗎? – 2011-03-31 15:16:17

回答

3

我們認爲我們已經想出了一個解決方案。我們正在做兩件事,一個用於鍵盤,另一個用於UITextView。

對於鍵盤,我們正在設置狀態欄的方向。鍵盤如下圖所示。

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;

而得到的UITextView正確定位,我們應用轉換到我們EAGLView,在這種情況下僅僅是UITextView中的子視圖,如下所示。

CGAffineTransform aTransform = CGAffineTransformMakeRotation(M_PI/2); 
    [glView UpdateSubViewTransforms:aTransform];   

這會從字面上向視圖添加90度旋轉。

這已經在iPad上測試過& iPhone 4與iOS 4.3以及iPhone 3G與iOS 3.13。