0

      # 사용자 지정 UITableViewCells가있는 UITableView가 있습니다. ios6 오리엔테이션 메서드를 구현할 때 내 뷰는 오리엔테이션에서 자동 회전됩니다.
      # xib 파일을 사용하지 않고 프로그램 적으로 모든 내용을 그리는 중입니다 (imageView, label). 장치를 회전하면 tableView 및 셀이 회전되지만 셀의 하위보기는 크기 및 위치면에서 적합하지 않습니다.오리엔테이션에서 사용자 지정 UITableViewCells (SubViews) 크기 조정

# TableView에서 그려지는 현재 셀의 크기를 조정하는 방법. 셀이 비동기로 그려지기 때문에 한꺼번에 크기를 조정하는 대신 크기 조정을 적용하는 방법은 무엇입니까?

# AutoResizingMasks 또는 NSLayoutConstraint를 적용해야합니까? 내 TabBar 및 NavigationBar의 크기가 올바르게 조정되었지만 셀이 올바르게 조정되지 않았습니다.

*** Plz 참고 : 나는 어떤 코드 블럭도 추가하지 않았습니다. bcoz는 이미 draw 된 셀과 objectForRowAtIndexPath 다음에 동적으로 그려지는 것으로 이해할 수 없습니다.

답변

0

      답변을 찾았습니다. ios6의 오리엔테이션에는 새로운 메소드를 구현하는 데 많은 수의 links이 있습니다. 내 tabBarController이 응용 프로그램에 대한 RootViewController 그래서 난 내 서브 클래 싱 TabBarController 클래스

   에서 내의 Info.plist에
(BOOL)shouldAutorotate {return YES; }
    추가 키를 추가 한 것으로 나타났습니다까지
    처음에 내보기는 회전을 지원하지 않았다 값 쌍을 지원하는 인터페이스 방향에 대해이 값은 현재 UIViewController에서 예외를 지정하지 않으면이 값이 응용 프로그램에 대해 전역이됩니다.


    UITableView에서 회전을 구현하기 위해 reloadData()를 호출했습니다. 당신이
– tableView:cellForRowAtIndexPath: 방법으로 세포를 다시 그릴 수있는 사용자 지정있는 UITableViewCell 클래스를 작성할 필요가 없습니다
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { [self.tableView reloadData]; }

    그것을 사용을 통해.
      이미 사용자 지정 UITableViewCell 클래스가 있으므로 [[UIApplication sharedApplication] statusBarOrientation] 메서드를 사용하여 layoutSubviews();에 새 셀을 그립니다.
    셀 안에 사용자 지정 UIView가있는 경우 가로 모드를 지원하기 위해 rect를 다시 그려야합니다. 기본적으로 ios5도 지원하므로 XIB를 통해 AutoLayout을 사용하지 않습니다. 레이아웃 프레임마다 각 하위 뷰에 자동 크기 조정 마스크를 사용할 수도 있습니다.

    reloadData(); 같은 시간에 모든 셀을 호출하지 않고 UITableView의 보이는 셀만 다시 그려지고 셀은 이전과 같이 재사용되므로 메모리 비용이 비쌉니다.