사용자 정의 유형의 NSArray에 대한 속성을 표시하는 UITableViewController
이 있습니다. 세로 방향으로 세 개의 레이블 (열과 같은 역할을 함)을 표시하고 싶지만 가로로 보면 UITableViewCell
에 더 적합 할 수 있으며 5 개의 레이블을 표시하고 싶습니다. 방향에 따라 UITableViewCell의 내용을 변경하십시오.
UITableViewCell
에
UILabels
을 넣고 난 파단에 도착하고,
cellForRowAtIndexPath
방법의 텍스트를 설정할 수 있도록 태그를 지정함으로써 스토리 보드 편집기에서 프로토 타입 셀 내 세로 세포를 배치하고있다. 나는 라벨의 자동 레이아웃을 쉽게 사용할 수 있도록이 길을 시작했다.
오리엔테이션이 바뀌었을 때 셀에서 항목을 다시 이동하거나 항목을 이동하는 방법에 대한 제안이 많이 있지만 하위보기의 수를 어떻게 바꿀 수 있는지는 알 수 없습니다. 두 가지 다른 셀 식별자 (가로 모드의 레이블이 더 많은 셀)를 사용하고 [UIDevice currentDevice].orientation
을 기반으로 원하는 셀 식별자를 선택하려고 생각했습니다. 나는 또한 회전시 세포의 재 장전을 강제 할 필요가 있다고 생각한다.
더 쉽고/좋은 방법이 있나요?
감사합니다. 전 View Controller 전체를 스와핑 할 생각이 없었습니다. 레이아웃을 좀 더 깔끔하게 만들지 만, 하나가 아닌 두 개의 클래스를 유지해야하므로 결국 두 VC 사이에서 코드를 복제하지 않아도됩니다. – SlimCheney
if-else 문에 중복 된 코드가있는 경우 더욱 악화됩니다! 얼마나 많은 중복 코드를 저장할 수 있는지 계산해야합니다. 너무 많은 경우 어쩌면 당신은 VC에서 일부 논리를 다른 클래스로 분리하는 것에 대해 생각해야합니다 (아마도보기 컨트롤러가 데이터 모델 작업을 수행하고 있을까요?). – TAKeanice