如何用 Swift 在 UIImage 中制作双边框线?

How to make double border lines in the UIImage with the Swift?

我试图在 Swift 中寻找“双边框”技巧来制作这样的东西。我有一种感觉,这可能就像 UIImage 中的“双边框”。

如果您知道代码,请告诉我。 :)

我想你可以在 UIImageView 和 UIImage 之间添加 1 个圆圈 (UIView) 作为子视图。例如,您可以使用外角半径的 gray 颜色初始化 UIImageView。然后,添加圆形 UIView,最后添加 UIImage。

或者,替代方法是在圆形 UIView(具有透明背景)之前添加 UIImage。

我想你可以在这里找到类似的代码:Image View Double Border

您需要在UIImageView的默认图层中添加borderColor(black)和cornerRadius。 与此同时,您必须在 UIImageView 中添加另一个子层,并将 borderColor 设置为灰色。

imageView.layer.borderWidth = 4.0
imageView.layer.borderColor = UIColor.gray.cgColor
imageView.layer.cornerRadius = imageView.frame.width / 2

let borderLayer = CALayer()
borderLayer.frame = imageView.bounds
borderLayer.borderColor = UIColor.black.cgColor
borderLayer.borderWidth = 14.0
borderLayer.cornerRadius = borderLayer.frame.width / 2
imageView.layer.insertSublayer(borderLayer, above: imageView.layer)

请参阅随附的 playground 演示。

您可以只获取一个 UIView 并在其中添加 UIImageView。 清空UIView的颜色即可清空

这是我使用故事板完成的。

  1. 在里面添加了UIView和UIImageView,view的颜色设置为clear,image view在四面15个点。请根据您的要求进行更改(参见图 1)。

  2. 这是视图控制器代码(参见图 2)。

  3. 输出(参考图3)。

注意 :只是一个基本的想法,虽然你可以根据你的要求改变颜色和边框宽度等。

Storyboard layout

View controller code

Output