2016-08-16 7 views
0

Я работаю над графическим приложением, где пользователь должен иметь возможность заполнять заблокированные области и просто рисовать линии на движениях пальцев.Z-уровень грапчиков в UIView

Заблокированные области предоставляются как SVG (пути), поэтому я использую библиотеку SVGKit для рендеринга их на экране (как CAShapeLayers в представлении). Затем в основном используйте fillColor на соответствующем слое, чтобы заполнить его прикосновением.

Однако для рисования линий вступает в действие Core Graphics (CGContextStrokePath), а линии всегда рисуются ниже всего, что содержится в иерархии CALayers. Таким образом, в основном ниже заполненных областей.

То, что я пытаюсь достичь, - это система, в которой последний нанесенный рисунок всегда сверху. Чтобы прикладывание заливки перекрывало любые строки в области, а затем рисование линии показывает ее над заполненной зоной.

Кажется, что г-индекс CGLayer составляет менее CALayer один, и мне нужен какой-то другой подход к своей цели ...

ответ

0

CAShapeLayer предназначен для хранения экземпляров CGPath и сделать их, так что я бы добавить CAShapeLayer в точке иерархии слоев, где вы хотите, чтобы она появилась, и измените свойство CGPath на этом.