developer tip

정적 셀이있는 UITableView가 나타나지 않습니다.

optionbox 2020. 11. 22. 19:23
반응형

정적 셀이있는 UITableView가 나타나지 않습니다.


Storyboards (탭보기 템플릿)를 사용하여 새 Xcode 프로젝트를 만들었습니다. 스토리 보드에 뷰 컨트롤러 몇 개를 추가하고 하나에 정적 셀이있는 UITableView를 사용하고 싶었습니다. 내가 만들었지 만 시뮬레이터에서 실행하면 세포가 나타나지 않습니다. 이 스토리 보드 파일을 제외하고 프로젝트에서 아무것도 변경하지 않았습니다. 스토리 보드 편집기와 실행중인 시뮬레이터의 스크린 샷을 보여주고 있습니다. 레이블이 표시되므로보기가 올바르게로드됩니다. 배경색을 회색으로 설정하여 talbeview가로드되는 것을 볼 수 있습니다. 모든 셀이 표시되도록 설정됩니다. 나는 그들의 스타일을 Basic으로 변경하고 레이블을 편집하고 공개 표시기를 추가했습니다.

모의 실험 장치 xcode


Generic View 컨트롤러가 아닌 TableViewController를 사용해 보시겠습니까?


정적 테이블보기를 사용할 때 아래 방법을 구현하지 마십시오.

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
}

Ray Wenderlich의 웹 사이트에 명시된 바와 같이 (이 게시물 : Beginning Storyboards in iOS 5 Part 2 , 섹션 "The Add Player Screen at Work") :

정적 셀에 대한 한 가지 더, 그들은 UITableViewController에서만 작동합니다. 스토리 보드 편집기를 사용하면 일반 UIViewController 내의 테이블보기 개체에 추가 할 수 있지만 런타임 중에는 작동하지 않습니다. 그 이유는 UITableViewController가 정적 셀에 대한 데이터 소스를 관리하는 추가 마법을 제공하기 때문입니다. Xcode는 "잘못된 구성 : 정적 테이블보기는 UITableViewController 인스턴스에 포함 된 경우에만 유효합니다."라는 오류 메시지와 함께 이러한 프로젝트를 컴파일하는 것을 방지합니다.

같은 문제가 있었지만 이것은 상황을 명확하게합니다 ...


컨테이너보기를 추가하고 해당 컨테이너에 UITableViewController를 포함 할 수 있습니다. 그런 다음 새 컨트롤러 내에서 정적 셀을 관리 할 수 ​​있습니다.


나는 같은 문제를 겪고 있었고 나를 위해 일한 수정 사항은 performSegue.Presenting the old way with를 사용하여 정적 UITableViewController 하위 클래스를 표시하는 것이 었습니다 [[self navigationController] present...].

참고 URL : https://stackoverflow.com/questions/8639780/uitableview-with-static-cells-does-not-appear

반응형