UIImage 上的多个 CALayer 边框

Multiple CALayer borders on UIImage

我正在尝试为我的图像添加两个不同的边框图层。

我添加了第一个代码如下:

myImage.layer.borderColor = UIColor.blue.cgColor myImage.layer.borderWidth = 2.0 myImage.roundLayerCorners()

当我做类似的事情时:

let sublayer: CALayer = CALayer() sublayer.backgroundCOlor = UIColor.white.cgColor sublayer.borderWith = 4.0 myImage.layer.addSublayer(sublayer)

它根本没有出现。为什么以及如何添加多个边框?

我想要一个 2 像素宽的蓝色边框,然后是一个 2 像素宽的白色边框

谢谢!

您的子图层没有框架。这意味着它不知道自己要做多大。你可以通过添加一行代码来解决这个问题:

sublayer.frame = CGRect(x:2, y: 2, width: myImage.frame.width - 4, height: myImage.frame.height - 4)

因此您的子层设置如下所示:

let sublayer: CALayer = CALayer()
sublayer.backgroundColor = UIColor.white.cgColor
sublayer.borderWidth = 4.0
sublayer.frame = CGRect(x:2, y: 2, width: myImage.frame.width - 4, height: myImage.frame.height - 4)
myImage.layer.addSublayer(sublayer)