一.最简单的遮罩层 -- 就是视图上面多张图片的---删除
1.定义一个 UIWindow 用来全屏显示 整个图片
static UIWindow *__sheetWindow = nil;
2.循环创建多张图片-给图片添加点击事件--然后添加到--- __sheetWindow上
- (void)addMaskLayerView {
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
NSString *name = [defaults objectForKey:@"name"];//根据键值取name判断下次是否出现
if (![name isEqualToString:@"333"]) {
NSArray * imageArr = @[@"guide805@2x", @"guide804@2x", @"guide803@2x", @"guide802@2x", @"guide801@2x"];
UIWindow *window = [[UIWindow alloc] initWithFrame:(CGRect) {{0.f, 0.f}, [[UIScreen mainScreen] bounds].size}];
window.backgroundColor = [UIColor clearColor];
window.windowLevel = UIWindowLevelNormal;
window.alpha = 1.f;
window.hidden = NO;
for (int i = 0; i < 4; i++) {
self.imgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, VIEW_W, VIEW_H)];
_imgView.userInteractionEnabled = YES;
_imgView.tag = 111 +i;
[self.view addSubview:_imgView];
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
//为图片添加手势
[_imgView addGestureRecognizer:singleTap];
_imgView.image = [UIImage imageNamed:imageArr[i]];
[window addSubview:_imgView];
}
__sheetWindow = window;
}
}
3.移除window上得图片----根据tag值 当点击图片时候移除视图
- (void)handleSingleTap:(UITapGestureRecognizer *)gestureRecognizer {//遮罩层移除
NSLog(@"方法走了没1");
UIView *targetview = gestureRecognizer.view;
if(targetview.tag == 111) {
UIView *subviews = [__sheetWindow viewWithTag:111];
[subviews removeFromSuperview];
__sheetWindow.hidden = YES;
}
if(targetview.tag == 112) {
UIView *subviews = [__sheetWindow viewWithTag:112];;
[subviews removeFromSuperview];
}
if(targetview.tag == 113) {
UIView *subviews = [__sheetWindow viewWithTag:113];;
[subviews removeFromSuperview];
}
if(targetview.tag == 114) {
UIView *subviews = [__sheetWindow viewWithTag:114];;
[subviews removeFromSuperview];
}
//判断 name 如果333。已经修改 不在显示
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
[defaults setObject:@"333" forKey:@"name"];
}