如何使 UIImageView 的一部分透明以便在下面的图层中显示视图
Posted
技术标签:
【中文标题】如何使 UIImageView 的一部分透明以便在下面的图层中显示视图【英文标题】:How to make a portion of an UIImageView transparent in order to show views in layers below 【发布时间】:2014-05-11 00:04:19 【问题描述】:这是一个图片解释,以更好地说明我的意思:
我有两个UIImageViews
,View1
在底部,View2
在顶部:
我想做的是以编程方式在View2
上设置一个完全透明的区域(即具有0
的alpha
),这将是最终结果:
我找不到与以形状(特别是圆形)的形式将 UIImageView 的一部分标记为透明相关的类似问题,并且想知道我应该如何解决这个问题?
谢谢!
【问题讨论】:
【参考方案1】:CoreGraphics 你可以走的一条路:
-
创建图像上下文
设置你需要的剪切路径(或者画完后把“洞”的圆圈清掉)
将原始图像绘制到上下文中
根据该上下文制作 UIImage
将图像分配给顶部的 UIImageView
https://developer.apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/HandlingImages/Images.html#//apple_ref/doc/uid/TP40010156-CH13-SW1
【讨论】:
感谢@iOSX 的回答和建议。我会看一下文档,看看我是否能找到一种方法让“洞”按照建议与剪切路径一起工作。以上是关于如何使 UIImageView 的一部分透明以便在下面的图层中显示视图的主要内容,如果未能解决你的问题,请参考以下文章
使 UIImageView 透明并在触摸时显示其下方的 UIImageView
如何将覆盖层添加到 UIImageView 但不在图像的透明部分?
Swift - 如何使 UIButton 仅在附加的图像上点击交互并忽略透明部分