2015-03-10 2 views
-1

Мне нужно реализовать круг с половиной цвета заливки. Я нашел сторонних api, но я не хочу их использовать. Есть ли способ привлечь круг без третьей стороны. Я хочу вот так: http://justpaste.it/jv07Нарисуйте круг с половиной цвета заливки

+0

Часы 'WWDC 2014: что нового в интерфейсе Builder'. Он имеет именно то, что вам нужно. – Desdenova

ответ

0

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

Полезной парадигмой для рисования является мысль о каждой области как отдельная вещь, созданная слоями. Порядок, который вы рисуете, - это порядок, который они показывают, от начала до фронта.

0

Вы можете использовать свойство CAShapeLayer strokeEnd для частичного овального хода.

 CAShapeLayer * oval3 = [CAShapeLayer layer]; 
     oval3.frame    = CGRectMake(0, 0, 100, 100); 
     oval3.fillColor   = nil; 
     oval3.strokeColor  = [UIColor greenColor].CGColor; 
     oval3.lineWidth   = 13; 
     oval3.strokeEnd   = 0.6; 
     UIBezierPath* oval3Path = [UIBezierPath bezierPathWithOvalInRect:oval3.bounds]; 
     oval3.path = oval3Path.CGPath; 
Смежные вопросы