使用 IBDesignable 模糊 ImageView

Blur ImageView using IBDesignable

可以使用 IBDesignable class 将 VisualEffect(模糊)添加到 UIImageView 吗? (我到处搜索,到目前为止什么也没发现)我试过给它添加一个 layer.addSublayer(layer: CALayer) 但是没有视觉效果的 CALayer

您可以尝试创建一个 UIImageView 的子类,如下所示:

@IBDesignable
class Blur: UIImageView {

    @IBInspectable var blurImage:UIImage?{
        didSet{
            updateImage(blurImage!)
        }
    }


    func updateImage(imageBlur:UIImage){
        let imageToBlur:CIImage = CIImage(image: imageBlur)!
        let blurFilter:CIFilter = CIFilter(name: "CIGaussianBlur")!
        blurFilter.setValue(imageToBlur, forKey: "inputImage")
        let resultImage:CIImage = blurFilter.valueForKey("outputImage")! as! CIImage
        self.image = UIImage(CIImage: resultImage)
    }



    }

您将不得不尝试使用它以按照您想要的方式获得它。


有关 CoreImageFilter 的更多信息,请参见 here