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 - 如何让自动布局约束依赖于兄弟 View ?

swift - 如果列表顺序更改,SwiftUI NavigationView 中的选择会丢失

swift - 如何快速修复此 'Invalid Region <center:-180.00000000, -180.00000000 span:nan, nan>' 错误

ios - 获取包含按下​​的 UIButton 的自定义 UITableViewCell

json - 错误 : Expected declaration, 使用未声明的类型 'Object',使用未声明的类型 'JSON'

ios - 使用@IBInspectable 设置 UItextField 值

ios - 来自任何地方的初始 View Controller

ios - 使用 RxSwift 从 UITableViewCell 发送回调到 UIViewController

ios - 是否可以使用 Swift 在 iOS 8 中启动另一个应用程序?

ios - NSInvalidArgumentException setSizeHasBeenSet 无法识别的选择器 - 带有属性文本