使用Swift对ImageView的iOS模糊效果
我正在尝试制作简单的iOS应用程序。 我需要使用模糊效果制作图像视图。 我在Stack Overflow上找到了这段代码:
class BlurImageView: UIImageView { override func awakeFromNib() { super.awakeFromNib() } required init(coder aDecoder: NSCoder!){ super.init(coder: aDecoder) var blur:UIBlurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light) var effectView:UIVisualEffectView = UIVisualEffectView (effect: blur) effectView.frame = frame addSubview(effectView) } }
我需要将此类连接到我的image_view
,但我不知道该怎么做。 我尝试在我的ViewController
view_did_load
函数中执行此操作( image_view
是一个sockets)
override func viewDidLoad() { super.viewDidLoad() image_view = BlurImageView() }
但NSCoder
要求……这是什么? 也许我的方式是错误的方式?
你需要让你的image_view
成为image_view
一个实例,所以在你的视图控制器和你的image_view
是一个sockets的地方,你需要使它成为BlurImageView
一个实例,而不是一个UIImageView
的实例。
你不需要它。 您没有看到结果的原因是因为您尝试使用与您设置的初始化程序不同的初始化程序初始化该类。
尝试:
class BlurImageView: UIImageView { override func awakeFromNib() { super.awakeFromNib() } override init() { var blur:UIBlurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light) var effectView:UIVisualEffectView = UIVisualEffectView (effect: blur) effectView.frame = frame addSubview(effectView) } }