ios 遮罩层 全屏显示(有的时候导航栏会遮挡) 引导 --新手笔记

来源:互联网 发布:java 北京尚学堂视频 编辑:程序博客网 时间:2024/05/16 15:37

一.最简单的遮罩层 -- 就是视图上面多张图片的---删除

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"];}


阅读全文
0 0
原创粉丝点击