in meinem Viewcontroller übergeben habe ich eine Taste:xcode: Linie zeichnen. wie Variablen
- (IBAction)drawLineClick:(id)sender
{
CGRect rect;
rect.origin.x = 20.0f;
rect.origin.y = 40.0f;
rect.size.width = 100.0f;
rect.size.height = 100.0f;
//draw line
DrawLine *drawLine = [[DrawLine alloc] initWithFrame:rect];
[self.view addSubview:drawLine];
}
in meiner DrawLine Klasse ziehe ich gerade eine Linie:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
[super setBackgroundColor:[UIColor clearColor]];
}
return self;
}
- (void)drawRect:(CGRect)rect
{
// Drawing code
[self drawLine];
}
- (void)drawLine
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor);
CGContextSetLineWidth(context, 3.0);
CGContextMoveToPoint(context, 0, 0);
CGContextAddLineToPoint(context, 50, 50);
CGContextStrokePath(context);
}
Dies funktioniert gut, aber das ist nicht variabel. Jedes Mal ist es dieselbe Zeile. Wie kann ich die Linienfarbe, Linienbreite usw. vom ViewController an die DrawLine-Klasse übergeben, sodass ich verschiedene Linien zeichnen kann?
Danke.
Danke für die Antwort. – suyama
Danke für die Antwort. In meinem benutzerdefinierten "(id) initWithFrame: (CGRect) Rahmen lineColor: (UIColor *) lColor" Ich übergebe die Objekte. Aber im ViewController bekomme ich den Fehler: Kein sichtbares @interface für 'DrawLine' deklariert den Selektor 'initWithFrame: lineColor:'. Vielen Dank. – suyama
Sie müssen also die Methode in DrawLine.h deklarieren. –