переместить изображение в кривую Безье - PullRequest
3 голосов
/ 13 октября 2011

Я нарисовал круг, используя кривую Безье, я использую этот круг в качестве маски для вида изображения.Теперь, как я могу переместить изображение внутри круга, не перемещая круг, используя прикосновения.вот мой код.

       CAShapeLayer *maskLayer = [CAShapeLayer layer];

aPath = [UIBezierPath bezierPathWithArcCenter:CGPointMake(220, 220)
                                       radius:170
                                   startAngle:0
                                     endAngle:DEGREES_TO_RADIANS(360)
                                    clockwise:YES];

maskLayer.backgroundColor = [[UIColor clearColor] CGColor];
maskLayer.path = [aPath CGPath];

maskLayer.masksToBounds=YES;

imageView1.layer.mask = maskLayer;

[self.view addSubview:imageView1];

1 Ответ

0 голосов
/ 17 мая 2012

Координаты маски совпадают с координатами вашего слоя представлений = он перемещается вместе с представлением.

Вы можете добавить изображение внутри другого вида и вместо этого замаскировать его. Затем вы можете переместить изображение в другой вид, и маска останется прежней.

В качестве альтернативы (но на самом деле то же решение) вы можете оставить маску на этом слое, добавить подслой с изображением и переместить его вместо этого.

...