2014-05-18 2 views
0

각 탭에 테이블보기가있는 탭보기가있는 스토리 보드를 사용하고 있습니다.공유 사용자 정의 테이블 셀이있는 다중 UITableView

표에는 서로 다른 항목 (피드, 즐겨 찾기 등)이 나와 있으므로 실제로 각 셀이 동일하게 보입니다.

나는 각 테이블의 셀을 다시 만들 수 있지만 뭔가를 조정할 때마다 고통을 느낄 수 있습니다. 현재 코드 (UITableViewCell)은 공유되어 있지만 UI (사용자 정의 셀)를 추출하는 쉬운 방법이 있는지 궁금해서 테이블간에 공유 될 것입니다.

감사합니다.

답변

2

예, xib 파일에서 셀을 만들어이 작업을 수행 할 수 있습니다. 스토리 보드에서 테이블보기를 만든 경우에는 필요하지 않으므로 가져온 셀을 스토리 보드에서 삭제하십시오. viewDidLoad에 갈 수

[self.tableView registerNib:[UINib nibWithNibName:@"Your nib name here" bundle:nil] forCellReuseIdentifier:@"cell"]; 

그 코드를 XIB에서 셀을 만든 다음 테이블 뷰 컨트롤러에, 어떤 식별자 당신이 원하는에 펜촉을 등록합니다. cellForRowAtIndexPath에서 같은 식별자로 셀을 큐에서 제거하면 xib 파일에서 만든 UI로 해당 클래스의 셀을 가져옵니다.

+0

완벽한 설명입니다. 어떤 경우에는 다음과 같이하는 것이 더 나을 수도 있습니다. 사용자 정의보기 ("모든 단추"또는 "셀의 기본 레이아웃"등)를 만든 다음 해당보기를 셀에 포함 시키십시오 필요에 따라. 때로는 각 상황에 맞는 "각 항목을 조금씩 사용자 정의"할 수 있습니다. – Fattie

+0

답변을 주셔서 감사합니다. 내 "스토리 보드 셀"에 각 항목에 대한보기로 연결되는 segue가 있었지만 지금 수동으로 만들어야합니까? (아이템 내의 버튼에서 오는 다른 섹 거들도 마찬가지입니다.) –

+0

@DoronGoldberg, 예, 그것은 펜촉 기반의 셀을 사용하는 것과 상충 관계에 있습니다. segues에 연결할 수 없으므로 대신 컨트롤러에서 segues를 만들어야하고 didSelectRowAtIndexPath 메소드 (또는 버튼의 액션 메소드)에서 performSegueWithIdentifier를 호출해야합니다. – rdelmar

관련 문제