2011-02-08 4 views
1

Итак ... У меня есть это приложение, которое рисует фигуры, а затем пользователь может их окрасить. Я создал вкладку с четырьмя формами, и когда один щелкнул, нарисована соответствующая фигура. Я взял идею рисования из кварцаDemo. Таким образом, у меня есть общий класс формы, а затем подклассы shape_name формы. Вот код для площади.Core Graphics Color Context

@implementation Square 

- (void)drawInContext:(CGContextRef)context { 
    CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 1.0); 
    CGContextSetLineWidth(context, 1.0);  
    CGContextBeginPath(context); 
    CGContextMoveToPoint(context, 1, 1); 
    CGContextAddLineToPoint(context, 1, 79); 
    CGContextAddLineToPoint(context, 79, 79); 
    CGContextAddLineToPoint(context, 79, 1); 
    CGContextAddLineToPoint(context, 1, 1); 
    CGContextClosePath(context); 
    CGContextStrokePath(context); 

} 

@end 

Когда форма сливает меню цвета появляется, и я хочу, чтобы изменить цвет, когда кнопку в меню сливают. Как я могу это сделать.

Ty заранее.

ответ

4

Я предлагаю добавить свойство к классу базовой формы, как это:

@property(nonatomic,retain) UIColor* fillColor; 

В вашей реализации меню установите значение свойства в UIColor объект выбора вашего пользователя и отправить форму setNeedsDisplay. Затем измените свой метод drawInContext: следующим образом:

CGContextSetFillColorWithColor(context, self.fillColor.CGColor); 
// ... your current drawing code goes here 
// replace the last line, with CGContextStrokePath(), with this: 
CGContextDrawPath(context, kCGPathFillStroke); 
+0

, который сделал это ... спасибо –

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