swift - 自定义UIImageView边框

标签 swift

我想做一个这样的边界:
Screen
使用此代码:

self.slot1.layer.cornerRadius = self.slot1.bounds.height / 2
self.slot1.layer.borderWidth = 1.5
self.slot1.layer.borderColor = UIColor.orange.cgColor 

它产生:
Screen2
如何在边框和实际图像之间添加“间距”?

最佳答案

您可以使用下面的扩展来实现这一点

extension UIImage {
    func imageWithInsets(insets: UIEdgeInsets) -> UIImage? {
        UIGraphicsBeginImageContextWithOptions(
            CGSize(width: self.size.width + insets.left + insets.right,
                   height: self.size.height + insets.top + insets.bottom), false, self.scale)
        let _ = UIGraphicsGetCurrentContext()
        let origin = CGPoint(x: insets.left, y: insets.top)
        self.draw(at: origin)
        let imageWithInsets = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return imageWithInsets
    }
}

使用下面的代码在图像和边框之间添加空格,我在这里添加20个您可以给自己的空格
self.slot1.layer.cornerRadius = self.slot1.bounds.height / 2
self.slot1.layer.borderWidth = 1.5
self.slot1.layer.borderColor = UIColor.orange.cgColor
let image = self.slot1.image?.imageWithInsets(insets: UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20))
self.slot1.image = image

希望能帮上忙!

关于swift - 自定义UIImageView边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56075647/

相关文章:

swift - 代码重构-Swift

ios - Swift:比较字典键

Swift:MKAnnotation 长标题文本

ios - 无法分配给属性 : 'self' is immutable swift error

swift - 实例化的可选变量在 Xcode 调试器中显示为 nil

ios - Firebase 云消息传递未收到通知 (iOS)

ios - SwiftUI 自定义 View 的 ViewBuilder 不会在子类 ObservedObject 更新时重新渲染/更新

ios - 如何在自定义表格 View 单元格之间传递数据?

ios - "% is unavailable: Use truncatingRemainder instead"是什么意思?

ios - 处理多个单例类时代码卡住