UIImage上有多个CALayer边框

时间:2017-09-06 19:01:19

标签: swift calayer

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

我已添加第一个代码:

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像素宽的白色边框

谢谢!

1 个答案:

答案 0 :(得分: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.borderWith = 4.0
sublayer.frame = CGRect(x:2, y: 2, width: myImage.frame.width - 4, height: myImage.frame.height - 4)
myImage.layer.addSublayer(sublayer)