Я рисую серию UIBezierPath, все из которых имеют разные размеры и местоположения. Я хотел бы масштабировать каждую фигуру до определенного размера и перемещать ее в определенное место на UIView
. Я сейчас работаю с CGAffineTransformation
. Он быстро становится грязным, поскольку местоположение и размер не работают для всех фигур.Динамически масштабировать и переводить форму
Можно ли каким-либо образом масштабировать UIBezierPath
до определенного размера и переводить (переместить) его в определенное место, которое будет работать для большинства фигур? Может быть, есть способ установить размер и расположение фигуры без необходимости использования преобразований, о которых я не знаю? Формы, которые я рисую, очень разные по размеру, некоторые с зубчатыми краями.
Это то, что я делаю до сих пор с помощью своих AffineTransformations.
CGAffineTransform scale = CGAffineTransformMakeScale(2.0f,2.0f);
[path applyTransform:scale];
CGAffineTransform move = CGAffineTransformMakeTranslation(-10, -10);
[path applyTransform:move];
Где path
является UIBezierPath
.
Верно ли это? Значения, которые я использую (-10, 2.0f), являются просто примерами.
Я упомянул в оригинальной публикации, что я сейчас работаю с AffineTransformations и что они не очень хорошо работают. Если вы считаете, что это то, что я должен делать, можете ли вы дать более подробное объяснение того, как я должен применять трансформацию? – tentmaking
Обратите внимание, что вы добавили код после ответа на свой вопрос. Этот код должен быть правильным, тогда, если он не работает, вы делаете что-то неправильно в другой части кода. Покажите полный код, если есть еще какое-то нежелательное поведение. –
Я добавил код после ответа на вопрос, но я изначально упомянул, что использовал CGAffineTransformations. В любом случае, я нашел решение и опубликую его в ближайшее время. – tentmaking