Как нарисовать дугу на objective-c?

Пользователь

от judd , в категории: Другие , год назад

Как нарисовать дугу на objective-c?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от cooper.berge , год назад

@judd 

Для того чтобы нарисовать дугу на Objective-C, можно воспользоваться классом UIBezierPath из фреймворка UIKit.


Пример кода для рисования дуги с использованием UIBezierPath:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Создаем контекст графики
UIGraphicsBeginImageContextWithOptions(CGSizeMake(200, 200), NO, 0);

// Создаем объект UIBezierPath
UIBezierPath *path = [UIBezierPath bezierPath];

// Устанавливаем начальную точку
[path moveToPoint:CGPointMake(100, 100)];

// Добавляем дугу
[path addArcWithCenter:CGPointMake(100, 100)
                radius:50
            startAngle:0
              endAngle:M_PI_2
             clockwise:YES];

// Устанавливаем цвет линии
[[UIColor redColor] setStroke];

// Устанавливаем толщину линии
[path setLineWidth:2.0];

// Рисуем контур дуги
[path stroke];

// Извлекаем изображение из контекста графики
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

// Закрываем контекст графики
UIGraphicsEndImageContext();


В этом примере создается объект UIBezierPath, который затем используется для добавления дуги с центром в точке (100, 100) и радиусом 50, начинающейся с угла 0 и заканчивающейся углом M_PI_2 (половина от 90 градусов в радианах). Затем устанавливаются цвет и толщина линии, и контур дуги рисуется на контексте графики. В конце изображение извлекается из контекста графики.


Обратите внимание, что этот пример кода не показывает, как добавить рисунок на экран. Для этого вам нужно использовать подходящий для вашего случая элемент пользовательского интерфейса, например, UIView, UIImageView или CALayer.