6

iPad 응용 프로그램에서 인터페이스 UIOptentation을 감지하는 데 문제가 있습니다 (코드에서 초기화). 사실, 내가 application.statusBarOrientation에 대해 추적하면, 가로로 시작한 경우에도 1 (UIInterfaceOrientationPortrait)을 반환합니다.처음에 iPad의 interfaceRotation을 어떻게 감지합니까?

내 첫 UIViewController에서 self.interfaceOrientation을 추적하면 viewWillDisappear에 도달 할 때까지 1로 유지됩니다 ... 어느 쪽이 불행히도 너무 늦었습니다! 여기

가 일부 코드입니다 (많은이 아니더라도 볼 수) : 내 AppDelegate에에서

을 나는이있다 :

나는 분명히 상태 표시 줄을 참조하더라도, 1 (세로)을 추적
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{  
    // show loading screen first 
    [window addSubview:loadingScreenViewController.view]; 
    [window makeKeyAndVisible]; 

    NSLog(@"applicationDidBecomeActive:statusBarOrientation = %d", application.statusBarOrientation); 
    return YES; 
} 

가로보기입니다 ... 그리고 첫 번째보기 컨트롤러에서 나는 이것을 가지고 있습니다 :

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSLog(@"self.interfaceOrientation = %d", self.interfaceOrientation); 
} 

가로 모드에서도 1을 추적합니다.

아이디어가 있으십니까? 여기에 난처한!

감사합니다 :)

: - 조 아이폰,하지만 수도가 당신을 도와 그

+0

는 내가 해결 방법 만든하지만 그렇지 좋아요, 그 다음 이미지를 덮어 올바른 것으로 따라서 가로 세로 버전으로로드 할 때 기본 세로 세로보다로드가 더 느립니다. 조금 더 고약합니다 ... 더 효율적으로 만들 수 있습니까? 감사합니다 :) – jowie

답변

2

대답은 ... 다소 (Apple Dev Forums에서) .... .... "앱은 항상 기기가 세로 인 것처럼로드되며, 기기가 실제로 가로 방향 인 경우 앱에 알려줍니다 이 작업은 펜촉과 코드가 UI를 한 방향으로 만 작성해야하므로 그렇지 않으면 각 펜촉에 대해 두 개의 UI 레이아웃이 필요할 수 있습니다. " .... 내가 좋아할만한 대답이 아니지만, iOS가 불행히도 어떻게 작동하는지! 벤처 캐피탈이 landscapeLeft 또는 오른쪽 중 하나의 willRotateToInterfaceOrientation를받을 때 내가 다음 기본값으로의 ViewController에 초상화 이미지를로드하고 ...

0

무엇 applicationDidFinishLaunching에서 애플 대리자 보고서를합니까? 올바른 값을보고하면 항상 위임에 액세스하여 방향을 확인할 수 있습니다.

+0

불행히도 applicationDidFinishLaunching은 Landscape에서 시작하는 경우에도 시작 부분에 Portrait라고 표시합니다. – jowie

관련 문제