Изменение размера CAShapeLayer

У меня есть простое тестовое приложение, в котором UIView моего rootViewController содержит кучу подвидов UIView. Каждое из этих подпредставлений UIView поддерживается CAShapeLayer.

Мне нужна композиция, созданная этими подпредставлениями (четыре фигуры, находящиеся в пунктирной области..) чтобы всегда оставаться вертикально и горизонтально по центру относительно моего UIWindow. (минимальный размер левого/правого, верхнего/нижнего полей будет изменяться во время выполнения при каждом изменении ориентации)

Так, например, когда я поворачиваюсь к портрету, мне нужно изменить размер и положение этих отдельных фигур, чтобы вся фигура будет поддерживаться по центру, и каждый подслой CAShapeLayer остается четким (я хочу, чтобы их путь был изменен, а не только размер растра)

как лучше всего изменить размер/переместить фигуры, чтобы всегда иметь центрированную композицию, сохраняя при этом четкий внешний вид контура для фигур?

В конечном счете, для меня будет хорошо получить ответ на этот вопрос: как я могу уменьшить подвиды в целом? я имею в виду их размеры и взаимное расположение?

Спасибо


person alphabox    schedule 03.05.2012    source источник
comment
Вы поняли это? Используете трансформацию? И если, то как это выглядит?   -  person Jan    schedule 09.01.2015


Ответы (1)


Вы можете использовать CGPathCreateMutableCopyByTransformingPath() или -[UIBezierPath applyTransform:] для пересчета всех точек на пути.

person Ole Begemann    schedule 05.05.2012