1

이 주제는 (iPad modal view controller acting in portrait even though it's landscape) 이전에 발생했지만 명확한 답변을 찾지 못했습니다. 중복되는지 여부. 새로운 싱글 뷰 프로젝트에서스토리 보드에서 가로로 설정된 경우에도 UIView (iPad)의 기본 설정이 세로로 설정되는 이유

, 내가 엑스 코드에 가로로 기본보기를 설정 :

enter image description here

을 그리고 속성 관리자는이를 확인 (뿐만 아니라보기는 스토리 보드에 표시되는 방법) :

enter image description here

그리고의 ViewController 방향 속성은 가로로 설정됩니다

I '가있는 viewDidLoad'에서 뷰 프레임 검사시

enter image description here

아직 세로 모드를보고

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    CGRect theRect = self.view.frame; 

    NSLog(@" frame %f %f %f %f", theRect.origin.x, 
      theRect.origin.y, 
      theRect.size.width, 
      theRect.size.height); 
} 

2012년 8월 26일 16 : 42 : 45.045 테스트 [2320 : F803] 셀 0.000000을 20.000000 768.000000 1004.000000

또한 shouldAutorotateToInterfaceOrientation에서 풍경을 강제로 :

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return UIInterfaceOrientationIsLandscape(interfaceOrientation); 
} 

이전에 여러 번이 문제가 발생하여 프레임을 명시 적으로 landscape로 설정해야했지만 모든 스토리 보드 설정이 효과가없는 이유를 알지 못했습니다.

여기에 기본적인 것이 누락 되었습니까?

답변

1

iOS의 모든 응용 프로그램은 지원되는 장치 방향을 지정하고 shouldAutorotateToInterfaceOrientation:에 올바른 "답변"을 제공하더라도 개인적으로 세로 모드에서 시작됩니다. 항상 세로로 시작하고 장치가 회전하면 가로로 회전합니다. 사용자가 너무 빨라 보이지 않을 수도 있습니다. 지원되는 유일한 방향이 가로 방향 인 경우에도 앱이 shouldAutorotateToInterfaceOrientation을 통해 회전 할 수 있어야합니다.

그래서 가로 방향 후 시작 얻을 당신이해야 :

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)io { 
    return (io == UIInterfaceOrientationLandscapeRight); 
} 
:

  • Xcodes 인터페이스 빌더에서 오버라이드 (override)하는 shouldAutorotateToInterfaceOrientation을 지원하는 인터페이스의 방향을 설정
    • 인터페이스를 회전 풍경 상기의 ViewController의 엑스 코드 구성에 대한 질문에 대해서는 나중에

    을보기 설정을 할 수있는 기회 제공 : 스토리 보드에있는 메뉴의 제목을 주목하라 - 그것은 말합니다 : 를 시뮬레이션 된 메트릭
    즉, 모든 수정은 스토리 보드에서 시뮬레이션하기위한 것입니다. 그러나 코드에서이 상태에 도달하기 위해 필요한 수정을하지 않으면 효과가 없습니다.

+0

아! - 요점은 내가 누락되었습니다. 위의 첫 번째 이미지 인 app plist에 쓰여진 'Supported Device Orientations'설정에 해당되는지, 적절한 'shouldAutorotateToInterfaceOrientation' 결과로 백업해야하는지 여부를 알고 계십니까? –

+0

@skinnyTOD가 내 답변에 세부 사항을 추가했습니다. – Pfitz

+0

감사합니다. 고맙습니다. –

관련 문제