繁体   English   中英

UIImage上的形状/遮罩?

[英]Shape/mask on UIImage?

我想知道如何在Xcode中实现? 它是配置文件的一部分,因此标题是实际的UIImageView ,但是其下面的曲线不确定如何实现。 有任何想法吗?

在此处输入图片说明

假设灰色区域是由底部的灰色矩形构成的,并且在圆弧的顶部是另一个矩形,我们可以执行以下操作:

创建一个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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM