【问题标题】:Clip UIView to UIIimage(UIImageView) using .png使用 .png 将 UIView 剪辑到 UIIimage(UIImageView)
【发布时间】:2012-04-19 20:32:14
【问题描述】:
我有几个 UIImage。它们都是 .png 格式。我需要将另一个 Image 或 UIView 剪辑到 UIImage 的不透明部分。一些图像的外边缘具有一定的透明度。如果我使用 clipsToBounds 它只会剪辑到 UIImageView 的框架而不是实际的图像。如果我将线剪成相同的高度,它会在中心看起来很好,但我需要将线定位在中心的右侧或左侧。请查看照片以获得更好的解释。我已经尝试了一些使用 Core Gaphics 的方法,但是我还没有找到解决方案。
【问题讨论】:
标签:
objective-c
ios
cocoa-touch
【解决方案1】:
您可以尝试使用CALayer 的mask 属性。
它允许您定义
一个可选层,它的 alpha 通道用作蒙版来选择
图层背景与合成结果之间
图层的内容及其过滤背景。
要将视图蒙版为 .png,请将蒙版层的 contents 设置为 CGImageRef。
记得导入QuartzCore 框架! ;)
Reference
【解决方案2】:
看看 CALayer 的 mask 属性。您可以设置一个不透明度的图层将用作视图图层的 alpha 信息(yourUIImageView.layer.mask)。
例如您可以使用 CAGradientLayer 为您的视图添加 alpha 渐变,或者使用其他 UIImageview 的图层(如果它具有 alpha 通道)。
编辑:Jenox 速度更快并提供了更多信息,因此他的答案应该被标记为正确。