2013-07-19 3 views
0

У меня есть форма, которую я рисую методом drawRect UIView.Stroke and Fill не работает вместе - ObjectiveC

Это код:

- (void)drawRect:(CGRect)rect 
{ 
    CGContextRef context = UIGraphicsGetCurrentContext(); 

    CGContextSetFillColorWithColor(context, [[UIColor brownColor] CGColor]); 
    CGContextAddArc(context, 50, 50, 50, 342.0 * (M_PI/180), 90.0 * (M_PI/180), 1); 

    CGContextSetFillColorWithColor(context, [[UIColor blackColor] CGColor]); 
    CGContextFillPath(context); 
    CGContextSetStrokeColorWithColor(context, [[UIColor whiteColor] CGColor]); 
    CGContextStrokePath(context); 
} 

Только первая функция (между заливкой и обводкой) работает.

Если я ударю сначала, заполнение не работает.

Как я могу это решить?

+0

Опубликовать некоторые изображения, что вы хотите сделать точно :) – Rushabh

+0

Спасибо, Мартин. –

+0

Я новичок в stackoverflow. Итак, я не могу опубликовать изображение. Извините, @Rushabh –

ответ

1

Почему вы устанавливаете два FillColor? Вы хотите использовать функцию CGContextDrawPath() вместо вызова как CGContextFillPath(), так и CGContextStrokePath.

CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetFillColorWithColor(context, [[UIColor brownColor] CGColor]); 
CGContextAddArc(context, 50, 50, 50, 342.0 * (M_PI/180), 90.0 * (M_PI/180), 1); 
// CGContextSetFillColorWithColor(context, [[UIColor blackColor] CGColor]); 
CGContextSetStrokeColorWithColor(context, [[UIColor redColor] CGColor]); 
CGContextDrawPath(context, kCGPathFillStroke); 
Смежные вопросы