6
Ich habe eine benutzerdefinierte UILabel-Klasse erstellt, in der ich eine rote Linie am unteren Rand des Rahmens zeichne. Die rote Linie wird angezeigt, aber ich kann den Text nicht anzeigen. Benutzerdefiniertes UILabel zeigt keinen Text
#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
Schuldige war - [super drawRect: rect]; –