2012-05-31 1 views
5

Storyboards 및 iOS 5.1을 시작하기 시작했습니다. 내가 만들고있는 응용 프로그램은 루트 컨트롤러로 탐색 컨트롤러를 사용하며 가로 방향으로 사용하도록 설계되었습니다 (사내 엔터프라이즈 응용 프로그램).Storyboards를 사용하는 iOS 5의 UIView는 iPad 기기 회전시 콘텐츠를 회전하지 않습니다.

제대로 작동하는 단일보기를 만들었습니다. 시뮬레이터의 방향이 바뀌면 내용이 올바르게 회전하여 "오른쪽 위로"있습니다.

다음 새보기를 추가하고 하나의 전혀 회전하지 않습니다; 장치가 회전 할 때 콘텐츠는 세로 방향으로 유지됩니다 (따라서 가로 방향으로 유지됩니다).

두 UIViewController 및 UIView에 대한 설정을 살펴본 결과 차이점을 볼 수 없습니다. 내가 어디를 봐야 할까?

답변

9

우선, 스토리 보드의 각 UIViewController에는 클래스가 있어야합니다. UIViewController에서 상속받은 새 클래스를 만든 다음 스토리 보드에서 uiviewcontroller를 클릭하고 해당 컨트롤러의 맨 아래에서 오른쪽 상자를 클릭하고 클래스 인스펙터에서 UIViewController를 만든 새 클래스의 이름으로 바꿉니다. .

그런 다음, 사용자가 만든 모든 뷰 컨트롤러 클래스에서, 당신은 모든 뷰에서 회전 있는지 확인

-(BOOL)shouldAutoRotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

그냥 모든보기 컨트롤러에 YES를 반환이 deleate 방법을 만드는 방법

를 구현하는 것이 확인 모든 방향. 이거 해 봤니?

+1

나는 그것을 잊어 버릴 수 없다. 스토리 보드의 열정으로 너무 놀랐습니다 ... 고마워요! – Christophe

+0

기술적으로 상영을 위해 뷰 컨트롤러 서브 클래스를 가질 필요는 없지만 일반적으로 그렇습니다. –

+2

Xcode 4.5를 사용하고 있지만 iOS 5.x에 배포하는 경우이 방법은 더 이상 UIViewController 하위 클래스에서 자동 생성되지 않습니다 (iOS 6.x에서 더 이상 사용되지 않음). 따라서 수동으로 추가해야합니다 iOS 5.1에서 모든 것을 작동하게합니다. –

0

이것은 나를 괴롭혔다. iPad 시뮬레이터에서 회전했지만 실제 iPad에서는 회전하지 않습니다. 이상하지. 세 개의 탭이있는 UITabBarController가 있습니다. 세 개의 컨트롤러 모두 탭 막대에 연결되면 shouldAutoRotateToInterfaceOrientation 메서드가 있지만 그 중 두 개 (네비게이션 컨트롤러를 통해 드릴링하는 5 단계 이후)에는 없습니다. 나는 그것들에 메소드를 추가했고 이제는 그것을 회전시킨다.

그냥 2 ¢.