刮刮乐

设置刮开后,显示的文字Label

UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(7,50,400,400)]; label.text = @"离思五首\n元稹\n曾经沧海难为水,\n除却巫山不是云!\n取次花丛懒回顾,\n半缘修道半缘君!\n";

 label.numberOfLines =0;

 label.backgroundColor = [UIColor colorWithRed:(arc4random()%173)/346.0+0.5green:(arc4random()%173)/346.0+0.5blue:(arc4random()%173)/346.0+0.5alpha:1];

 label.font = [UIFont systemFontOfSize:30]; 

label.textAlignment = NSTextAlignmentCenter; [self.view addSubview:label];

设置遮挡在外面的Image

self.imageView= [[UIImageViewalloc]initWithFrame:CGRectMake(7,50,400,400)];self.imageView.image= [UIImageimageNamed:@"可达鸭"]; 

[self.viewaddSubview:self.imageView];

在touchesMoved方法里面实现操作

`- (void)touchesMoved:(NSSet

*)touches withEvent:(UIEvent*)event{

// 触摸任意位置

UITouch*touch = touches.anyObject;

// 触摸位置在图片上的坐标CGPointcententPoint = [touch locationInView:self.imageView];

// 设置清除点的大小CGRectrect =CGRectMake(cententPoint.x, cententPoint.y,20,20);

// 默认是去创建一个透明的视图    UIGraphicsBeginImageContextWithOptions(self.imageView.bounds.size, NO, 0);

// 获取上下文(画板)CGContextRefref =UIGraphicsGetCurrentContext();

// 把imageView的layer映射到上下文中[self.imageView.layerrenderInContext:ref];

// 清除划过的区域CGContextClearRect(ref, rect);

// 获取图片UIImage*image =UIGraphicsGetImageFromCurrentImageContext();// 结束图片的画板, (意味着图片在上下文中消失)UIGraphicsEndImageContext();self.imageView.image= image;

著作权归作者所有,转载请联系作者获得授权,并标注“作者”。

你可能感兴趣的:(刮刮乐)