Масштабировать UIBezierPath для разных размеров экрана?

Я хочу понять, как правильно масштабировать фигуры кривых Безье для экранов разных размеров. Скажем, я сделал значок для UIButton с помощью UIBezierPathкак это:

UIBezierPath* rectanglePath = [UIBezierPath bezierPath];
[rectanglePath moveToPoint: CGPointMake(6, 23)];
[rectanglePath addLineToPoint: CGPointMake(23, 23)];
[rectanglePath addLineToPoint: CGPointMake(23, 6)];
[rectanglePath addLineToPoint: CGPointMake(6, 6)];
[rectanglePath addLineToPoint: CGPointMake(6, 23)];
[rectanglePath closePath];
[UIColor.grayColor setFill];
[rectanglePath fill];

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

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

  2. Или, может быть, я могу применить какое-то преобразование к UIBezierPath масштабировать его до размера, соответствующего размеру экрана?

  3. Или мне нужно создать код с более безликими путями для каждого размера экрана и использовать его при необходимости?

Три варианта, и я не уверен, какой из них правильный.. Или, может быть, есть другой вариант, который я еще не знаю?

0 ответов

Другие вопросы по тегам