[英]Kingfisher load image from url and set corner radius
我使用 SnapKit 布局 imageView 并通过 Kingfisher 从 url 加载图像,我还想通过 Kingfisher 设置角半径(使用RoundCornerImageProcessor
),如果我设置了 targetSize,图片会失真,如果没有设置,只是角半径,我无法获得我想要的结果。 我该怎么办?
您可以像这样轻松地为 kingFisher 设置图像:
import UIKit
import Kingfisher
class ViewController: UIViewController {
@IBOutlet weak var image:UIImageView!
let rawstring = "https://apis.baytelhekma.com/zinzo/public/storage/products/November2020/eUWwRjNCYCdHUjGIQiJk.png"
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: rawstring)
image.kf.setImage(with: url)
}
}
然后您可以通过将其添加到您的项目中来制作圆角半径:
import Foundation
import UIKit
extension UIView {
@IBInspectable
var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
@IBInspectable
var borderWidth: CGFloat {
get {
return layer.borderWidth
}
set {
layer.borderWidth = newValue
}
}
@IBInspectable
var borderColor: UIColor? {
get {
let color = UIColor(cgColor: layer.borderColor!)
return color
}
set {
layer.borderColor = newValue?.cgColor
}
}
}
之后你需要做的就是在你的ViewController
:
image.cornerRadius = 15 // you can set it with the number fits your app
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.