2009-03-25 1 views
1

, 나는 내가 내 UITableView가 왜 회전하지 않습니까? 인터페이스 빌더 내에서

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

나는 또한 IB에있는 다른 뷰 컨트롤러가

을 설정 한 내의 UIViewController에서
UIViewController 
-- View 
---- TableView 

다음있다. 내가 여기서 무엇을 놓치고 있니? 변환 방법을 사용하면 회전시킬 수있는 유일한 방법이 있습니다.

+0

자동 회전이 YES로 설정된 UIViewController에 의해 제어되는 * 테이블 뷰 *도 포함하는 UIView가 있습니까? – Amagrammer

답변

0

방금 ​​시도한이 예상대로 작동합니다. 더 자세한 내용을 제공해야 할 것입니다. 내 경험으로 볼 때 뷰가 "회전하지 못하면"어떤 뷰 컨트롤러가 어딘가에 알려주지 않기 때문입니다. 모든 뷰 컨트롤러가 shouldAutorotateToInterfaceOrientation에서 올바른 값을 반환하는지 확인하십시오.

3

혹시 탭 기반 앱에서 tableview를 사용하고 있습니까? Tabbar 컨트롤러의 모든보기 제어기가 가로 모드를 지원하는 경우 가로 모드를 지원하는보기 만 사용할 수 있습니다.

외에도 가로 모드를 지원하지 않아야하는 이유가 표시되지 않습니다.

1

자동 크기 조정 설정에 문제가 있습니다. 보다 구체적으로, 인터페이스 빌더에서 자동 크기 조정이 클릭되었는지 확인한 다음 크기 검사기에서 테이블 뷰의 모든 테이블 뷰가 상단, 왼쪽, 오른쪽에 빨간색 화살표로 채워져 있는지 확인하고 두 개를 선택하십시오 내부 화살표.

질문자가 실제로 기본보기의 하위보기에서 테이블보기를 가지고 있는지 궁금합니다.

    • 서브 뷰
      • 테이블 뷰

      • 홈페이지보기 : 내가보기 계층 구조에서 한 단계 더 깊이있는 테이블보기 위해이 동작을 참조

    기본적으로 메인보기에는 자동 크기 조정 화살표가 올바르게 설정되어 있지만 추가보기를 추가하면 표시되지 않습니다.

    여러보기 컨트롤러가있는 문제에 대한 질문에 대답 : UIViewController는 UIView의 대리자가 아닙니다. 사실, 그것은 이벤트 체인이 다른 방향으로가는 것처럼 보입니다. 먼저 시스템은 자동 회전을보고 UIViewController에게이를 알려줍니다. UIViewControllers에 shouldAutoresize가 yes를 반환하면 UIViewController는 기본보기의 크기를 조정합니다. 기본 뷰의 크기를 조정하면 서브 뷰가 올바르게 설정된 경우 하위 뷰의 크기가 자동으로 조정됩니다.

    Apple docs에 따르면, 뷰의 다른 부분을 제어하는 ​​여러 개의보기 컨트롤러 (예 : 주보기의 하위보기에있는 테이블보기의 별도의 테이블보기 컨트롤러)는 이벤트 체인과 함께 있기 때문에 없어야합니다 - 당신은 어떻게 그것이 여기의 경우 일 수 있는지 알 수있었습니다. 그게 도움이되는지 아닌지 모르겠다.

  • 0

    스토리 보드를 사용하는 경우 VC에 UITableview가 포함되어 있고 장면에 AutoLayout이 선택 해제되어 있는지 확인하십시오.

    관련 문제