[英]Shape/mask on UIImage?
假设灰色区域是由底部的灰色矩形构成的,并且在圆弧的顶部是另一个矩形,我们可以执行以下操作:
创建一个UIBezierPath
:
let path = UIBezierPath(ovalIn:CGRect(x: 0, y: view.bounds.height/2, width: view.bounds.width, height: view.bounds.height)).cgPath
将其应用到顶部矩形。
let overlay = CAShapeLayer()
overlay.path = path
overlay.fillColor = UIColor.gray.cgColor
overlay.shouldRasterize = true
view.layer.addSublayer(overlay)
这将创建一个完美的圆,但是您可以根据自己的喜好调整CGRect的形状,以获得所需的形状!
可以通过提供标题视图UIBezierPath
来实现,但是如果您不想这样做。
我找到了一个很酷的方法。
您的Header视图包含一个图像(假设它为HeaderImage)。
制作该形状的图像(假设它为MaskImage)。
let path = UIImageView.init(image: #imageLiteral(resourceName: "MaskImage"))
比将此蒙版应用于标题图像。
HeaderImage.mask = path
希望它为您工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.