zoukankan      html  css  js  c++  java
  • mask layer的遮罩层

    1. layer层 mask 遮罩效果

     //渐变层
        CAGradientLayer *gradientLayer = [CAGradientLayer layer];
        gradientLayer.frame = CGRectMake(0, 100, kWidth, kWidth);
        gradientLayer.colors = @[(__bridge id)[[UIColor redColor]colorWithAlphaComponent:0.4] .CGColor,
                                 (__bridge id)[UIColor clearColor].CGColor];
        gradientLayer.startPoint = CGPointMake(0, 0);
        gradientLayer.endPoint  = CGPointMake(1, 0);
        
        [self.view.layer addSublayer:gradientLayer];
        
        
        //
        UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 200, 200)];
        CAShapeLayer *layer = [CAShapeLayer layer];
        layer.frame = self.view.bounds;
        layer.lineWidth = 5;
        layer.strokeColor = [UIColor redColor].CGColor;
        layer.fillColor = [UIColor redColor].CGColor;
        layer.path = path.CGPath;
        layer.lineCap = @"round";
    //    [gradientLayer addSublayer:layer];
        
        gradientLayer.mask = layer;
        

    2. maskView 实现局部透明效果

    //0.相当于maskView 将自己"投影"到 view上, 注意层级关系, 实际并不是在'灰色'的view上滑动, 而是投影到了"灰色"的view上了

    //1.设置了遮罩mask属性后, 只显示重叠部分

    //2.可以通过改变遮罩的alpha和颜色实现透明、半透明的效果

       UIImageView *imageView1 = [[UIImageView alloc]initWithFrame:self.view.bounds];
        imageView1.image = [UIImage imageNamed:@"1"];
        [self.view addSubview:imageView1];
        
        TestView *view = [TestView new];
        view.frame = self.view.bounds;
        view.backgroundColor = [[UIColor lightGrayColor] colorWithAlphaComponent:0.9];
        [self.view addSubview:view];
     
        
        
        UIImageView *imageView = [[UIImageView alloc]initWithFrame:self.view.bounds];
        imageView.image = [UIImage imageNamed:@"1"];
        [self.view addSubview:imageView];
        
        
        UIView *roundView = [[UIView alloc]initWithFrame: CGRectMake(50, 50, 100, 100)];
        roundView.backgroundColor = [UIColor redColor];
        _viewwww = roundView;
        imageView.maskView = roundView;
  • 相关阅读:
    JavaScript
    关于setInterval()你所不知道的地方
    JavaScript面向对象和原型函数
    GET和POST有什么区别?及为什么网上的多数答案都是错的
    10个最常见的 HTML5 面试题及答案
    Ajax我选择这样入门
    前端应当了解的Web缓存知识
    JavaScript
    Linux rhel7 下MySQL5.7.18详细安装文档
    思科交换机配置DHCP的四个方面
  • 原文地址:https://www.cnblogs.com/daxueshan/p/9379457.html
Copyright © 2011-2022 走看看