2010-03-07 16 views
6

Ho creato una classe UILabel personalizzata in cui disegno una linea rossa nella parte inferiore della cornice. La linea rossa sta mostrando ma non posso ottenere il testo da mostrare.Custom UILabel non mostra il testo

#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 

risposta

20

verità il tuo LetterLabel ha bisogno di chiamare drawRect del UILabel: ad un certo punto?

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

Culprit was - [super drawRect: rect]; –

Problemi correlati