我正在尝试创建一个自定义的UIView类,我可以在我的应用程序中更改某些视图的类。我希望视图是圆的并具有模糊效果。我可以通过func专门引用插座名称,但只想更改视图的类,以便它可以重复使用。
import UIKit
class RoundedBlur: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
self.addRoundedBlur()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.addRoundedBlur()
}
func addRoundedBlur() {
let roundedBlurView = UIView()
let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.light))
blur.frame = roundedBlurView.bounds
blur.layer.cornerRadius = 0.5 * roundedBlurView.bounds.size.width
blur.clipsToBounds = true
blur.autoresizingMask = [.flexibleWidth, .flexibleHeight]
roundedBlurView.insertSubview(blur, at: 0)
}
}
答案 0 :(得分:0)
您无需创建子视图即可实现此目的。 您可以只引用类本身,这样您就可以通过扩展重用此视图来创建新视图。
class RoundedBlur: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
self.addRoundedBlur()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.addRoundedBlur()
}
func addRoundedBlur() {
let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.light))
self.frame = self.bounds
self.layer.cornerRadius = 10.0
self.clipsToBounds = true
blur.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.insertSubview(blur, at: 0)
}
}