翠鸟从URL加载图像并设置角半径

问题描述

我使用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 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...