Swift在外面制作边框rof uiimageview

时间:2017-03-12 17:54:01

标签: ios swift uiimageview

我想为imageview创建一个边框,这是我的代码

    let view = UIImageView()
    view.layer.borderWidth = 4
    view.layer.borderColor = UIColor(red: 1, green: 1, blue: 1, alpha:0.4).cgColor
    view.layer.cornerRadius = 40
    view.layer.masksToBounds = true

但这只会在imageview中添加边框,我该如何在外面制作?

3 个答案:

答案 0 :(得分:2)

这可以帮到你。使用CALayer添加边框图层,您可以自定义边框颜色和边框,以及其他参数。

let borderLayer = CALayer()
let borderFrame = CGRect(x: -1.0, y: -1.0, width: imageView.frame.size.height + 2.0, height: imageView.frame.size.height + 2.0)
borderLayer.backgroundColor = UIColor.clear.cgColor
borderLayer.frame = borderFrame
borderLayer.cornerRadius = 5.0
borderLayer.borderWidth = 2.0
borderLayer.borderColor = UIColor.red.cgColor
imageView.layer.addSublayer(borderLayer)

答案 1 :(得分:2)

有两种方法可以做到这一点。

<强> 1。使用故事板

如果您在故事板中执行此操作,则可以直接在故事板本身的用户定义的运行时属性列中提供与图层相关的属性。

<强>截图: enter image description here

<强> 2。使用代码

let imageView = UIImageView(frame: CGRect(x: 50, y: 50, width: 240, height: 128))
        imageView.image = UIImage(named: "Image")
        imageView.layer.borderWidth = 4
        imageView.layer.cornerRadius = 40
        imageView.layer.borderColor = UIColor.red.cgColor
        imageView.layer.masksToBounds = true
        self.view.addSubview(imageView)

<强>输出:

enter image description here

修改 更改borderColor的alpha后的屏幕截图

enter image description here

答案 2 :(得分:-1)

创建一个UIView并使其略大于图像,然后将图像添加到中心。设置背景颜色将使边框成为不同的颜色。

let border = UIView(frame: CGRect(x: 0, y: 0, width: 251, height: 251))
border.backgroundColor = UIColor.red

let image = UIImageView(frame: CGRect(x: 0, y: 0, width: 250, height: 250))
image.center = border.center
image.image = ...
border.addSubview(image)