2011-08-04 4 views
1

안녕하세요. 문제가 있습니다. 내 AppDelegate에 있습니다. 기기가 회전하기 시작할 때 알림을 시작하기 위해 beginGeneratingDeviceOrientationNotifications 메소드를 사용했습니다. 내 ipad 손을 잡아도 잘 작동하지만 테이블에 보관하면 예상대로 작동하지 않습니다. 화재가 발생합니다. UIDeviceOrientationUnknown 알림. 또한이 알림은 시작 화면이 아닌 UI가 시작된 후에 시작됩니다. 다음 몇 가지 내가장치가 테이블에있는 동안 UIDeviceOrientationDidChangeNotification이 작동하지 않습니까?

[self Launch_UI]; 

로 내 UI를 시작하지만, 통지는 통지가 호출 이전에 등록 된 경우에도 후 [self Launch_UI]; 전화를 응답 시작되는

if([[[PulseUIFactory Factory] GetUICreator] IsIPad]) 
    { 
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil]; 
    } 
    current device stars giving proper values. 
    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; 

...

:

다음

내 코드입니다

도움이 필요하십니까?

답변

0

테이블에 장치를 놓으면 [[UIDevice currentDevice] orientation]UIDeviceOrientationFaceUp을 반환합니다. 그런 다음 기기가 테이블 위를 위로 향하게 놓은 상태로 테이블에 올려 놓는 방식과 상관없이 현재 기기 방향은 여전히 ​​UIDeviceOrientationFaceUp입니다.

기기의 방향 결정에 문제가있는 경우 UIDeviceOrientationUnknown이 표시 될 수 있습니다. UIDeviceOrientationDidChangeNotification을 사용하여 기기 회전을 처리하는 방법에 대한 자습서는 this을 참조하십시오.

UI가로드 된 후 알림 만 실행되는 것과 관련하여 기기를 돌릴 때 UIDeviceOrientationDidChangeNotification이 실행됩니다. 따라서 UI가로드 될 때까지 기기를 회전하지 않으면 알림이 표시되지 않습니다. 이것이 문제의 원인이 아닌 경우, 진행중인 작업에 대해 더 잘 이해할 수 있도록 코드를 더 많이보아야합니다.

관련 문제