2010-03-12 3 views
0

기본적으로 "At Once"응용 프로그램의 핵심 기능을 재현하려고합니다. 카메라보기 및 텍스트보기가있는 다른보기가 있습니다.카메라보기 맨 위에있는보기의 키보드 방향을 수동으로 변경

두보기를 모두 창에 추가합니다. 모든 것이 지금까지 잘되었습니다.

[window addSubview:imagePicker.view]; 
[window addSubview:textViewController.view]; 

본인은 UIImagePickerController를가 자동 회전을 지원하지 않는 것으로 알고, 그래서 나는 UIDeviceOrientationDidChangeNotifications을보고하고 textViewController.view에 필요한 변환을 적용하여 수동으로 처리합니다.

지금, 여기에 문제는 키보드입니다. 아무것도하지 않으면 세로 모드로 유지됩니다. 알림 핸들러에 다음 코드를 추가하여 회전시킬 수 있습니다.

[[UIApplication sharedApplication] setStatusBarOrientation:interfaceOrientation]; 
[textView resignFirstResponder]; 
[textView becomeFirstResponder]; 

그러나 다음 간단한 테스트는 이상한 행동을 유발합니다.

    세로 모드에서 응용 프로그램을 시작
  1. .
  2. 장치를 시계 방향으로 90도 회전하십시오.
  3. 장치를 반 시계 방향으로 90도 회전시킵니다 (다시 초기 위치로).
  4. 장치를 시계 방향으로 90도 회전하십시오.

가로 모드 키보드 대신 4 단계를 수행 한 후 가로형 키보드 프레임에 맞도록 세로 형 키보드가 기울어 져 표시됩니다.

아마 내 접근 방식은 처음부터 잘못된 것입니다. 누군가가 setStatusBarOrientation에 대한 응답으로 키보드의 방향을 안정적으로 변경할 수 있는지 궁금합니다.

답변

0

글쎄, 당신이 무엇이든, 해킹 될 것입니다. 카메라/피커는 인물 사진 모드에서만 작동합니다. 당신은 변형을 망쳐서이 문제를 해결할 수 있습니다. 그러나 불행히도 당신은 그렇게 해킹 할 때 올바르게 작동하는 모든 것에 의존 할 수 없습니다. 죄송합니다. 최종 답변이 없습니다.

관련 문제