Я пытаюсь нарисовать полупрозрачную форму над изображением.Максимальный размер CAShapeLayer?
У меня есть UIView
, у которого есть содержимое слоя, установленное на изображение, с подслоем CAShapeLayer
, у которого установлен путь к форме. Есть несколько из этих UIViews
внутри родителя UIView
, который является дочерним объектом масштабирования UIScrollView
.
Все в порядке на iPhone, но когда я увеличиваю масштаб на iPad, UIViews
становится довольно большим, а CAShapeLayers
исчезают. Изображения отображаются нормально. Я догадался, что проблема была проблемой размера, поэтому я разделил CAShapeLayers
на две части, так что была левая и правая стороны. Теперь они оба отображаются, если пользователь не масштабируется на самом деле, например, пока «не зажимает» выше моего максимального увеличения, как раз перед тем, как они вернутся назад.
Разделение моего CAShapeLayers
дальше выполнимо, но немного неудобно. Итак, у меня есть несколько вопросов:
- Есть ли ограничение максимального размера для
CAShapeLayers
? Почему это не относится к содержимому образа слоя? - Зачем нужен повторный чертеж
CAShapeLayers
во время масштабирования в пределахUIScrollView
? Не следует ли растрировать весь вид зуммирования (UIScrollView's
) на дюйм? Как я могу это сделать?
Я считаю, что нет ограничений для CAShapeLayer на iPad-устройстве, но в симуляторе есть ограничение 1024 x 1024. Я фактически использую 2048 x 2048 в iPad 3.2, и он отлично работает. Я просто потратил 2 часа на то, чтобы решить проблему, которой у меня не было, только потому, что я еще не проверял ее на устройстве iPad. Ваша записка спасла меня много времени. Я планировал изменить сценарий, чтобы ограничить форму до 1024 x 1024. –