【问题标题】:UIImage transparent with shapeUIImage 透明的形状
【发布时间】:2012-03-12 11:55:39
【问题描述】:

在我的 iPhone 应用程序中,我有两个 UIImageViews 是圆圈。 我为此使用了这段代码:

manPic.layer.cornerRadius=manPic.frame.size.width/2;
manPic.layer.masksToBounds=YES;
womanPic.layer.cornerRadius=womanPic.frame.size.width/2;
womanPic.layer.masksToBounds=YES;

这两个圆圈有一些重叠的区域,我希望这个区域只有半透明,以便用户可以一起看到这两个图像。 这个区域不是正方形(这很明显,因为我们说的是圆圈)。

你知道我该怎么做吗?

【问题讨论】:

  • 您只希望重叠区域是透明的吗?
  • 是的。只有这个区域。其余应该正常

标签: objective-c uiimageview transparent alpha


【解决方案1】:

如果您只希望重叠区域是透明的,您可能必须通过 coregraphics 使用非常多的屏蔽逻辑来绘制图像。

但是一个不需要自定义绘图代码的想法(如果周围视图的颜色是单一的纯色)。将这两个图像放在您的视野中。比在图像顶部添加另一个正方形大小的视图来“掩盖”重叠区域。为该视图启用剪辑.clipsToBounds = YES。再次将这两个图像添加到该视图,并将它们的 .alpha 设置为 0.5(或您想要的)。

所以结构是:

mainview
-> imageView
-> imageView
-> masking view (clipsToBounds=YES, backgroundColor=mainview.backgroundColor)
    -> imageView with alpha
    -> imageView with alpha

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    相关资源
    最近更新 更多