美文网首页iOS开发者进阶iOS 开发
iOS “刮刮乐”的简单实现

iOS “刮刮乐”的简单实现

作者: 枫developer | 来源:发表于2019-05-16 11:29 被阅读49次

这两天闲来无事,做一个“刮刮乐”的小功能给大家乐一乐。哈哈哈,先来看看效果图:


刮刮乐.gif

这个女朋友奖很简单就可以实现:
1.创建图片上下文。
2.将图片渲染在上下文中。
3.清除手指拖拽的位置。
4.通过上下文生成新的图片。
5.将新的图片添加在UIImageView上,并且关闭上下文。
理论上就这么点东西哈。


#import "ViewController.h"

@interface ViewController ()

// 灰色(将被刮开的图片)
@property (weak, nonatomic) IBOutlet UIImageView *clearImageView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 添加Pan手势
    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAction:)];
    
    [self.clearImageView addGestureRecognizer:pan];
}

#pragma mark - 长按事件
-(void)panAction:(UIPanGestureRecognizer *)pan {
    // 获取当前按的点
    CGPoint curPoint = [pan locationInView:self.clearImageView];
    
    // 创建图片上下文
    UIGraphicsBeginImageContext(self.clearImageView.bounds.size);
    // 获取对应的上下文
    CGContextRef context = UIGraphicsGetCurrentContext();
    // 将图片渲染在t上下文中
    [self.clearImageView.layer renderInContext:context];
    // 清除手指选中的地方
    CGContextClearRect(context, CGRectMake(curPoint.x - 15, curPoint.y - 15, 30, 30));
    // 通过上下文合成图片
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    // 结束上下文
    UIGraphicsEndImageContext();
    // 将新的图片添加在视图上
    self.clearImageView.image = image;
}

@end

是不是很简单,这些小功能其实很有意思,喜欢的朋友可以点个赞哈。

相关文章

  • iOS “刮刮乐”的简单实现

    这两天闲来无事,做一个“刮刮乐”的小功能给大家乐一乐。哈哈哈,先来看看效果图: 这个女朋友奖很简单就可以实现:1....

  • iOS刮刮乐实现

    前言 突然看到支付宝的刮刮卡功能,闲来无事,写了一个小demo。 步骤及思路 UI布局; 获取触摸位置在图片上的坐...

  • iOS中刮刮乐功能的实现

    目前很多项目中都会用到“刮刮乐”这个功能点,处于此整理出了一套比较easy的实现方法。 在这里我主要用到了Imag...

  • iOS开发 刮刮乐效果的实现

    引言 我们平时在使用支付宝的时候, 会看到类似彩票刮刮乐的效果。如何实现的呢?下面就直接上代码了... 刮刮乐效果...

  • iOS-仿支付宝刮刮乐效果

    支付宝里有个刮刮乐中奖, 和大街小巷里的类似彩票刮刮乐的效果一样。 实现思路, 其实很简单的三步: 展示刮出来的效...

  • 刮刮乐

  • 刮刮乐

    2007年3月3日,特别的日子。 为啥特别? 第一次坐飞机,青岛飞西安,提前4个小时就到机场了,在网上研究过攻略,...

  • 刮刮乐

    2014年11月3日 刮刮乐 今天杏子又在济南火车站候车了,这次她是故地重游,明显轻松了许多。 ...

  • 刮刮乐

    设置刮开后,显示的文字Label UILabel *label = [[UILabel alloc]initWit...

  • 刮刮乐

    刮刮乐这个东西真的是越刮越快乐,尤其是他给我准备的30张,现在有些喜欢30这个数字了,哈哈哈哈哈! 他给我准备...

网友评论

    本文标题:iOS “刮刮乐”的简单实现

    本文链接:https://www.haomeiwen.com/subject/kaibaqtx.html