2011-03-31 3 views
0

우리는 사용자 입력을 게임에 넣기 만하므로 사용자는 이메일 주소 등을 입력 할 수 있습니다. 전체 게임은 iOS UI없이 Gl입니다. EAGLView는 방향을 바꾸지 않습니다. 항상 세로 방향입니다. 그러나 게임은 가로 방향으로 진행되며 카메라 변환으로 처리합니다.iOS (iPad/iPhone)에서 키보드 및 하위보기 방향 강제 설정

우리는 iOS 키보드를 가져 와서 텍스트 입력을 위해 UITextView를 오버레이하고 싶습니다. UITextView는 EAGLView의 하위 뷰입니다. EAGLView가 세로로 보이므로 분명히 키보드와 키보드가 세로로 나타납니다.

EAGLView를 가로 방향으로 변경하지 않고 UITextView와 키보드를 가로 방향으로 표시 할 수있는 방법이 있습니까?

이 작업을 수행하기 위해 EAGLView의 방향을 가로로 변경하면 성능에 어떤 영향이 있습니까? 기본보기 이외의 다른보기에서 GL보기를 지정하면 성능에 문제가 발생할 수 있음을 여러 번 읽었지만이 사실에 대한 확실한 증거는 찾을 수 없습니다.

감사합니다.

+0

이 성능에 대한 정보는 들어 본 적이 없지만 흥미로운 점은 있습니다. 증거 또는 그럴 수 없음;) – Till

+0

plist에서 위 또는 아래 방향 만 적용하면 도움이됩니까? –

답변

3

Google은이를위한 해결책을 찾았다 고 생각합니다. 키보드와 UITextView를위한 두 가지 작업을 수행하고 있습니다.

키보드의 경우 상태 표시 줄 방향을 설정하고 있습니다. 설정되면 키보드가 따라옵니다.

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;

그리고 제대로 방향을 위해 UITextView를 얻을 수있는 것은 우리는 다음과 같이가,이 경우에만 UITextView 우리의 EAGLView의 서브 뷰 변환을 적용.

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

문자 그대로보기에 90도 회전을 추가합니다.

이 내용은 iPad & iPhone 4 (iOS 4.3) 및 iPhone 3G (iOS 3.13)에서 테스트되었습니다.