2010-06-11 6 views
0

UILabel에서 상속 된 사용자 지정 클래스를 만들었습니다. 내 펜촉에 UILabel을 놓고 레이블의 클래스를 내 사용자 정의 클래스로 설정했습니다. 그러나 viewDidLoad 메서드를 호출 할 때 뷰는 내 사용자 지정 클래스 대신 클래스 UILabel입니다.부모 형식으로 인스턴스화 된 nib의 사용자 지정보기

아이디어가 있으십니까?

+0

사용자 정의 클래스에서 어떤 init 메소드를 대체 했습니까? – falconcreek

+0

'drawRect'와'drawTextInRect' 둘 다 무시하려고했습니다. 그러나 어떤 것도 호출되지 않았기 때문에 View Controller의'viewDidLoad'에'NSLog (@ "label type : % @", [self.label class]);'와 같은 응답을 보냈습니다. "라벨 유형 : UILabel"입니다. –

+0

initWithFrame을 구현해야한다고 생각합니다 : – falconcreek

답변

0

테스트 프로젝트에서 내 CustomLabel의 인스턴스를 만들 수있었습니다. 내가 다르게 한 것은 UILabel을 드래그하는 대신에 CustomLabel의 인스턴스를 뷰로 가져 왔습니다.

다음과 같이 최신 sdk의 대상에 대해 awakeFromNib를 구현했습니다. 신비의

-(void)awakeFromNib 
{ 
    [self setText:[NSString stringWithFormat:@"%@",[self class]]]; 
} 

- (void)drawTextInRect:(CGRect)rect // called as expected 
{ 
    NSLog(@"drawTextInRect: called"); 
    [super drawTextInRect:rect]; 
} 

커플 ... 나는 CustomLabel에서 초기화 및 initWithFrame 구현되지 아니하며 펜촉에서보기를로드하는 기계에 의해 호출되었다.

관련 문제