2013-07-17 3 views
3

사용자 정의 셀을 크레이트 할 때 클래스 UITableViewCell을 작성하고 테이블 셀과 함께 펜촉을 추가하십시오. 매우 분명합니다. 테이블 뷰를 사용하는 일부 클래스에서이 사용자 지정 셀을 사용해야하는 상황을 관리하는 방법을 알고 싶습니다.IOS : 일부 클래스에서 사용자 정의 셀 사용

나는 "FirstViewController"라는 뷰 컨트롤러를 가지고 있고이있는 tableview이이 뷰 컨트롤러 내부에, 내가있는 tableview 셀의 클래스를 가져오고 난에서 해당 참조

#import "MyCell.h" 

IBOutlet MyCell *mycell; 

을 위해 함께 IBOutlet을 만들 예를 들어

아이디 인스펙터에서 MyCell 클래스의 파일 소유자 FirstViewController 클래스를 설정 했으므로이 방법으로 내 사용자 정의 셀의 IBOutlet을 쉽게 연결할 수 있습니다.

이렇게하면 FirstViewController에만 MyCell을 사용할 수 있습니다. 다른 클래스의 MyCell을 SecondViewController로 공유 할 수있는 방법이 있습니까?

감사합니다.

답변

5

UITableViewCell의 하위 클래스, 예를 들어 CustomCell을 만들 수 있습니다. xib 파일을 만들고 xib의 루트로 UITableViewCell을 추가하십시오. UITableViewCell의 ID를 CustomCell으로 변경하십시오. 콘센트를 CustomCell의 요소에 연결합니다. 그러나 모든 viewController에 소유권을주지 마십시오. 어떤의 ViewController에서 tableView:cellForRowAtIndexPath:의 코드를 다음과

인스턴스화 당신은 자신의 길 INT

CustomCell *customCell = [[NSBundle mainBundle]loadNibNamed:@"CustomCell" 
                 owner:nil 
                options:nil][0]; 
+0

줄까? 정적 NSString * MyIdentifier = @ "MyIdentifier"; \t MyIdentifier = @ "datacell"; \t \t DataCell * cell = (DataCell *) [list dequeueReusableCellWithIdentifier : MyIdentifier]; \t if (cell == nil) { \t \t [[NSBundle mainBundle] loadNibNamed : @ "DataCell"소유자 : 자체 옵션 : nil]; \t \t cell = dataCell; \t} – CrazyDev

+0

@blackguardian 거의 틀림없지 만, VC에 셀에 대한 IBOutlet이 있어야한다고 제안했습니다. IBOutlet을 가지고 있다면 해당 VC를 셀의 소유자로 만들어야합니다. 당신은 그 의식을 피하기를 원합니다. 'if (! customCell) customCell = [[NSBundle mainBundle] loadNibNamed : @ "CustomCell" 소유자 : nil 옵션 : nil] [0]; ' – Anupdas

1

"다른 클래스의 MyCell을 SecondViewController로 공유 할 수있는 방법이 있습니까?" IB 사례를 건너 뛰고 프로그래밍 방식으로 SecondViewController에 추가합니다.

IB를 고수하고 싶으면 사용자 지정 구성 요소를 만들어야 XCode에 추가 할 수 있지만 가능하지만 더 많은 시간이 소요됩니다.

관련 문제