как рисовать над дорожкой cashapelayer

У меня есть CAShapeLayer, который я хочу нарисовать над этим слоем. Я взял UIImageView и добавил этот слой CAShapelayer, и теперь я начинаю рисовать, когда прикосновение пользователя перемещается внутри этого пути CAShapelayer. Но когда пользовательское прикосновение заканчивается, я хочу объединить это нарисованное изображение на слое CAShape таким образом, чтобы, если пользователи снова коснутся, то, используя метод hitTest, я снова мог получить путь к слою cashape.

// tempDrawingImage — это представление изображения, которое я добавил над хитовым слоем.

UIGraphicsBeginImageContext(tempDrawingImage.frame.size);
        [hitLayer drawInContext:UIGraphicsGetCurrentContext()];
        [tempDrawingImage.image drawInRect:tempDrawingImage.frame];
        hitLayer.contents = (id) UIGraphicsGetImageFromCurrentImageContext().CGImage;
        UIGraphicsEndImageContext();

person Alfa    schedule 02.06.2014    source источник


Ответы (1)


Вы не можете легко преобразовать изображение в путь для CAShapeLayer.

Вам нужно иметь DrawingPath, который будет изменен в соответствии с событиями касания. Также потребуется второй CAShapeLayer для рисования текущего пути рисования (поскольку вы получите те же результаты при рисовании, что и после слияния, что не гарантируется при использовании подхода изображения). При слиянии вам нужно добавить DrawingPath к пути вашего shapeLayer.

person robert    schedule 02.06.2014