如何在imageView后面放置图像

时间:2011-04-15 08:11:44

标签: iphone image layer

我有一个包含多个图层的图像。用户可以将图片设置为图层。但是当没有可用的图片时,我想要一张替换图片。

我想我有两个选择:

  1. 检查图像(拍摄的照片)是否已加载到我的目录中。如果没有放置另一张图片。
  2. 将另一个图像(photo_icon.png)放在UIImageView(image1)的背面。未拍摄照片时,图像将变为可见。
  3. 到目前为止,这是我的代码的一部分。

    NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
        NSString *pngFilePath = [NSString stringWithFormat:@"%@/photo1.png",docDir];
        UIImage *img = [[UIImage alloc] initWithContentsOfFile:pngFilePath];
        [image1 setImage:img];
        image1.layer.cornerRadius = 15.0;
        image1.layer.masksToBounds = YES;
    
        CALayer *sublayer = [CALayer layer];
        image1.layer.borderColor = [UIColor blackColor].CGColor;
        image1.layer.borderWidth = 3.5;
        [image1.layer addSublayer:sublayer];    
    
        CALayer *imageLayer = [CALayer layer];
        imageLayer.frame = image1.bounds;
        imageLayer.cornerRadius = 10.0;
        imageLayer.contents = (id) [UIImage imageNamed:@"Upperlayer.png"].CGImage;
        imageLayer.masksToBounds = YES;
        [sublayer addSublayer:imageLayer];
    

    替换我使用的图像的image1:

        CALayer *imageBackLayer = [CALayer layer];
        imageBackLayer.frame = image1.bounds;
        imageBackLayer.cornerRadius = 10.0;
        imageBackLayer.contents = (id) [UIImage imageNamed:@"photo_icon.png"].CGImage;
        imageBackLayer.masksToBounds = NO;
        [sublayer insertSublayer:imageBackLayer below: image1.layer ];
    

    提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以使用不透明度来显示/隐藏图像。