【问题标题】:CALayer hides the imageViewCALayer 隐藏 imageView
【发布时间】:2012-08-20 11:43:38
【问题描述】:

大家都在使用 CALayer 来掩盖 UIImage,当我在 imageview 上添加图层时,它只显示图层部分隐藏所有填充白色的图像

        CALayer *mask = [CALayer layer];
        mask.contents = (id)[[UIImage imageNamed:@"mask.png"] CGImage];
        mask.frame = CGRectMake(0, 0, mainImageWidth+30, mainImageHeight);
        mask.shadowOffset = CGSizeMake(0, 3);
        mask.shadowOpacity = 1.5;

        mainImageView.layer.mask = mask;


        [mainImageView.layer setMasksToBounds:NO];

它隐藏了我的图像视图,除了图层部分。我该如何解决这个问题

【问题讨论】:

    标签: ipad imageview calayer


    【解决方案1】:

    我没有使用图像视图创建蒙版,而是为 UIView 添加了三个蒙版,现在它工作完美

     mainLayer.frame = CGRectMake(0, 0, mainImageWidth, mainImageHeight);
    [self.view.layer addSublayer:mainLayer];
     mainLayer.backgroundColor = [UIColor clearColor].CGColor;
    
    
    secondLayer.frame = CGRectMake(gloss_x, gloss_y, gloss_w, gloss_h);
    maskLayer = [CALayer layer];
    
    UIImage *mask = [UIImage imageNamed:@"mask.png"];
    maskLayer.contents = (id)mask.CGImage;
    maskLayer.frame =  maskRect;//CGRectMake(gloss_x, gloss_y-50, gloss_w, gloss_h);
    
    
    
    secondLayer.contents = (id)s_glossImage.CGImage;
    
    
    [mainLayer addSublayer:secondLayer];
    
    mainLayer.mask = maskLayer;
    
    
    [mainImageView.layer addSublayer:mainLayer];
    

    现在它工作正常。

    【讨论】:

      猜你喜欢
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-12
      相关资源
      最近更新 更多