2013-02-15 2 views
0

가로 및 세로 모두에서 작동해야하는 하나의보기를 제외하고 항상 가로로 표시되어야하는 iOS 앱에서 작업하고 있습니다. 그래서, 내가 가진 : 가로 모드에서 내 응용 프로그램, 그리고이보기에 도착하고 기기 (아이 패드)를 회전iOS 처음보기 자동 회전

-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
{ 
    return (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) || (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft); 
} 

I 점심 경우,이 메소드를 호출하고 false를 반환하기 때문에 인터페이스는 회전하지 않고있다, 좋은 물건.

하지만 내가 초상화에 있으면서이보기로 이동하면이 메서드가 호출되고 false를 반환하지만 방향은 변경되지 않습니다. 이 컨텍스트에서 장치를 가로 방향으로 회전하면 메서드가 true를 반환하고 인터페이스가 제대로 회전하고 세로 방향으로 다시 회전하려고하면이 메서드는 false를 반환하고 인터페이스는 가로 방향으로 유지됩니다.

이보기를 처음 사용할 때 기기를 세로로 설정하면 인터페이스가 가로로 변경됩니까?

또한, 나는

- (NSUInteger)supportedInterfaceOrientations 

으로 시도했지만 그것은 결코 호출되지 얻을.

미리 감사드립니다.

답변

0

shouldAutorotateToInterfaceOrientation:은 iOS 6.0에서 감가 상각됩니다. 대신 supportedInterfaceOrientationspreferredInterfaceOrientationForPresentation 메서드를 재정의하십시오. preferredInterfaceOrientationForPresentation

의 문서에서

(그것이 나중에 다른 지원 회전으로 회전 할 수있다) 뷰 컨트롤러 제시 나타나면, 그 도면은 바람직한 방향에 도시 된이 방법을 구현 한 경우. 이 방법을 구현하지 않으면 시스템은 상태 표시 줄의 현재 방향을 사용하여보기 컨트롤러를 제공합니다.

+0

죄송합니다. 자신을 잘 설명하지 않았습니다. 나는 iOS 5 장치에서 응용 프로그램을 실행하고 있으며 가로 방향으로 만 표시하려는보기를 표시 할 때마다 shouldAutorotateToInterfaceOrientation 메서드가 호출됩니다. 그러나 세로 방향 인 경우 NO를 반환하더라도보기가 세로 방향으로 표시됩니다. 가로로 회전하면 YES가 반환되고보기가 회전되고 세로로 다시 회전하면 NO가 반환되고보기는 가로로 유지됩니다. 내 문제는 처음으로 메서드가 NO를 반환 할 때 세로로 유지되는 대신 세로로 회전 할 뷰가 필요하다는 것입니다. – mario595