Перед раскрашиванием изображения:
После раскрашивания изображения:
Это мой код:
-(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
touchPoint = [touch locationInView:self.imgColor];
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(touchPoint.x,touchPoint.y)];
[path addLineToPoint:CGPointMake(startingPoint.x,startingPoint.y)];
startingPoint=touchPoint;
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = [path CGPath];
shapeLayer.strokeColor = [[UIColor blueColor] CGColor];
shapeLayer.lineWidth = 3.0;
shapeLayer.fillColor = [[UIColor redColor] CGColor];
[self.imgColor.layer addSublayer:shapeLayer];
[arrLayer addObject:shapeLayer];
NSLog(@"Touch moving point =x : %f Touch moving point =y : %f", touchPoint.x, touchPoint.y);
}
В зависимости от касания пользователя, он рисует линию внутри UIImageView
.
Что мне нужно:
Если размер изображения слишком мал, я не хочу позволять рисовать за пределами изображения.
Внутри изображения пользователь должен рисовать, есть ли способ? Пожалуйста, предложите мне.
if (!CGRectContainsPoint(doggyImage.frame, touchPoint))
- person zcui93   schedule 11.01.2016touchStart
. - person zcui93   schedule 11.01.2016