Максимальный размер CAShapeLayer? - PullRequest
1 голос
/ 02 сентября 2010

Я пытаюсь нарисовать полупрозрачную форму поверх изображения.

У меня есть UIView, в котором содержимое слоя настроено на изображение, а подслой CAShapeLayer, путь которого настроен на фигуру. Есть несколько таких UIViews внутри родителя UIView, который является дочерним зумом UIScrollView.

На iPhone все нормально, но когда я увеличиваю изображение на iPad, UIViews становится довольно большим, а CAShapeLayers исчезает. Изображения отображаются нормально, хотя. Я догадался, что проблема была в размере, поэтому я разделил CAShapeLayers на две части, чтобы была левая и правая стороны. Теперь они оба отображаются, если только пользователь не увеличит масштаб, например, «отжимая» сверх моего максимального увеличения, прямо перед тем, как отскочить назад.

Разделить мою CAShapeLayers дальше выполнимо, но немного нервно. Итак, у меня есть пара вопросов:

  1. Есть ли ограничение максимального размера для CAShapeLayers? Почему это не относится к содержанию изображения слоя?
  2. Почему CAShapeLayers перерисовывает во время масштабирования внутри UIScrollView? Разве весь масштаб изображения (непосредственный дочерний элемент UIScrollView's) не должен быть растеризован за дюйм? Как я могу сделать это так?

1 Ответ

1 голос
/ 05 сентября 2010

Получается, что максимальная площадь на моем компьютере (MacBook 2006 года) составляет 1024 * 1024.

Высота полноэкранного изображения на iPad составляет 1004 пикселя, а максимальная ширина - около 1044 пикселейнапример, если вам нужна большая фигура в горизонтальном виде прокрутки.

При масштабировании отскок отскока фактическая высота фигуры увеличивается, толкая максимальную ширину примерно до 250 пикселей.Это уже, чем хотелось бы, но выполнимо.

Это может отличаться на физическом iPad, но это ограничения в симуляторе на моем устройстве разработчика.

...