1.效果图
2.代码实现
// 在storyboard上给imageView添加拖拽手势
// 监听手势事件
- (IBAction)pan:(UIPanGestureRecognizer *)sender {
// 获取当前位置
CGPoint curP = [sender locationInView:self.iv];
// 计算擦除的frame
CGFloat wh = 30;
CGFloat x = curP.x - wh * 0.5;
CGFloat y = curP.y - wh * 0.5;
CGRect frame = CGRectMake(x, y, wh, wh);
// 开启图片上下文
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 0);
// 取得当前涂层
CALayer *layer = self.iv.layer;
// 获取当前上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 渲染当前涂层到视图上
[layer renderInContext:ctx];
// 擦除对应的区域
CGContextClearRect(ctx, frame);
// 取得新生成的图片并在展示在imageView上
self.iv.image = UIGraphicsGetImageFromCurrentImageContext();
// 关闭上下文
UIGraphicsEndImageContext();
}