2010-03-07 2 views
6

Я создал пользовательский класс UILabel, в котором я рисую красную строку в нижней части рамки. Красная линия показывает, но я не могу получить текст для показа.Пользовательский UILabel не показывает текст

#import <UIKit/UIKit.h> 


@interface LetterLabel : UILabel { 

} 

@end  


#import "LetterLabel.h" 


@implementation LetterLabel 


- (id)initWithFrame:(CGRect)frame { 
    if (self = [super initWithFrame:frame]) { 
     // Initialization code 
    } 
    return self; 
} 


- (void)drawRect:(CGRect)rect { 
    CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 2.0); 
    CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1.0, 0.0, 0.0, 1.0); 
    CGContextBeginPath(UIGraphicsGetCurrentContext()); 
    CGContextMoveToPoint(UIGraphicsGetCurrentContext(), 0.0, self.frame.size.height); 
    CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), self.frame.size.width, self.frame.size.height); 
    CGContextStrokePath(UIGraphicsGetCurrentContext()); 
} 


- (void)dealloc { 
    [super dealloc]; 
} 


@end 

#import <UIKit/UIKit.h> 
#import "Word.h" 

@interface WordView : UIView { 
    Word *gameWord; 
} 

@property (nonatomic, retain) Word *gameWord; 

@end 

@implementation WordView 

@synthesize gameWord; 

- (id)initWithFrame:(CGRect)frame { 
    if (self = [super initWithFrame:frame]) { 
     self.backgroundColor = [UIColor whiteColor]; 

     LetterLabel *label = [[LetterLabel alloc] initWithFrame:CGRectMake(0, 0, 20, 30)]; 
     label.backgroundColor = [UIColor cyanColor]; 
     label.textAlignment = UITextAlignmentCenter; 
     label.textColor = [UIColor blackColor]; 
     [label setText:@"t"]; 
     [self addSubview:label]; 
    } 
    return self; 
} 


- (void)drawRect:(CGRect)rect { 
    // Drawing code 
} 


- (void)dealloc { 
    [gameWord release]; 
    [super dealloc]; 
} 


@end 

ответ

20

Конечно ваш LetterLabel нужно вызвать DrawRect в UILabel в: в какой-то момент?

-(void)drawRect:(CGRect)rect { 
    // Your stuff goes here 
    [super drawRect: rect]; 
} 
+0

Culprit был - [super drawRect: rect]; –

Смежные вопросы