2011-04-07 4 views
4

하위 클래스가 UITableViewCell입니다. 나는 그것이 만들어 질 경우 셀의 값의 일부를 초기화해야, 내가 사용하여 만드는거야 :loadNibNamed를 사용할 때 하위 클래스 UITableViewCell이 초기화되지 않습니다.

NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil]; 

내가 엑스 코드를 통해 하위 클래스를 만들어 다음과 같은 방법은 인터페이스 "새 파일 추가"를 얻을 :

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { 
    if ((self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])) 
    { 
     self.selectionStyle = UITableViewCellSelectionStyleBlue; 

     [txtField setEnabled:YES]; 
     [txtField setTextColor:[UIColor redColor]]; 
     [txtField setPlaceholder:@"Fake Placeholder - Test Initialize"]; 

     [contactBtn setEnabled:YES]; 
    } 
    return self; 
} 

이 방법의 코드는 실행되지 않습니다. 어떻게해야합니까? 이것이 NSBundle loadNibNamed를 사용하여 객체를 인스턴스화 할 때 사용되는 메소드가 아니라면 무엇입니까? 이 방법으로 펜촉에서 셀을 생성 할 때 어떻게 셀을 초기화 할 수 있습니까?

도움을 주시면 대단히 감사하겠습니다.

답변

7

펜촉에서로드 할 때보기는 일반적인 초기화 방법 중 하나가 아닌 initWithCoder:을 호출하여 초기화됩니다. 이 메소드를 재정 의하여 초기화를 수행하거나 awakeFromNib을 구현할 수 있습니다.

0

nib를로드해도 이미 만들어진 것처럼 개체가 생성되지 않고 nib 파일에 직렬화됩니다.

awakeFromNib 메서드를 사용해보십시오.이 메서드는 nib 파일의 모든 개체로 전송됩니다.

관련 문제