美文网首页
关于iOS遮罩的实现与透明度为0时自己的理解

关于iOS遮罩的实现与透明度为0时自己的理解

作者: Link913 | 来源:发表于2016-10-10 09:19 被阅读1630次

    该文章转移自我在CSDN上的博客,为了方便管理所以我把他们转载过来,以前技术比较有限所以博客可能写的比较简单吧.

    关于遮罩的实现和理解

        #pragma mark -
        #pragma mark  点击imageButton
        - (IBAction)didClickImageButton:(id)sender{
               
                /**
                      图片恢复原状
                      遮罩view消失
                      */
               
                // 对coverView的透明度进行判断
                if (self.coverView.alpha ==0) {
                        // 进行放大
                        [self didClickBigImageButton:nil];
                       
                    } else {
                           
                            [UIView animateWithDuration:0.5 animations:^{
                                   
                                    self.coverView.alpha =0;
                                    _imageButton.transform =CGAffineTransformIdentity;
                                }];
                           
                        }
               
        }
         
        这段代码的目的是通过点击这个按钮图片来放大,同时声称一个半透明遮罩,并将这个图片置顶到遮罩层上;再次点击后,将透明度变为0,并将图片缩小。
         
        #pragma mark -
        #pragma mark  加载 coverView
        - (UIView*)coverView {
                if (nil ==_coverView) {
                        // 实例化一个view
                        UIView*coverView = [[UIViewalloc]initWithFrame:self.view.bounds];
                       
                        self.coverView =coverView;
                       
                        // 设置透明度
                        coverView.alpha = 0;
                       
                        // 设置颜色
                        coverView.backgroundColor = [UIColorblackColor];
                       
                        // 添加到控制器的view上
                        [self.viewaddSubview:coverView];
                    }
               
                return _coverView;
        } 
    

    这是实现遮罩的代码。
    那么问题来了:为什么遮罩层透明度为0,但它实际上是存在的,就好比看的见摸不着一样的感觉,但是为什么能穿透遮罩层来点击遮罩层下面的按钮呢?
    经过查找资料,以及问安卓的同学,发现是这样子的,当透明度为0-0.01时,可以把这个遮罩层当不存在一样,完全可以击穿遮罩层。而安卓因为焦点的问题点击不到遮罩层下面也是和iOS有区别。


    相关文章

      网友评论

          本文标题:关于iOS遮罩的实现与透明度为0时自己的理解

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