maskView 加载 CAGradientLayer

maskView 加载 CAGradientLayer

1.用CAGradientLayer 直接产生带透明像素通道的layer
2.用maskView直接加载带CAGradientLayer的view

  CGFloat width = 120;
    //加载图片
    self.baseImageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 20, width, width)];
  //  self.baseImageView.image = [UIImage imageNamed:@"base"];
    [self.view addSubview:self.baseImageView];

    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.frame = self.baseImageView.bounds;
    gradientLayer.colors = @[(id)[UIColor clearColor].CGColor,
                             (id)[UIColor blackColor].CGColor,
                             (id)[UIColor clearColor].CGColor];
    gradientLayer.locations = @[@(0.25),@(0.5),@(0.75)];
    gradientLayer.startPoint = CGPointMake(0, 0);
    gradientLayer.endPoint = CGPointMake(1, 0);
    [self.view.layer addSublayer:gradientLayer];


    //容器view,加载CAGradientLayer
    UIView *contentView = [[UIView alloc] initWithFrame:self.baseImageView.bounds];
    [contentView.layer addSublayer:gradientLayer];
    //设定maskView
    self.baseImageView.maskView = contentView;

    //动画的运用
    CGRect frame = contentView.frame;
    frame.origin.x += 400;
    contentView.frame = frame;

    [UIView animateWithDuration:2.f animations:^{
        //改变位移
        CGRect frame = contentView.frame;
        frame.origin.x += 400;
        //重新赋值
        contentView.frame = frame;
    }];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值