我试图创建一个类,它在初始化时向传递给它的图像添加模糊效果,但是在图像视图中传递错误。我正在使用Xcode 7.3,Swift 2.2;这是我的代码,请看一下。
这是我的班级
class addBlurEffect: UIViewController {
private var newBlurEffect = UIVisualEffectView(effect: UIBlurEffect(style: .Light))
private var objectToBlur = UIImageView()
convenience init(objToBlur: AnyObject) {
self.init()
objectToBlur = objToBlur as! UIImageView
blur()
}
func blur() {
newBlurEffect.frame = objectToBlur.bounds
objectToBlur.addSubview(newBlurEffect)
}
}
这是我在ViewController.swift文件中的代码
@IBOutlet weak var blurHeader: UIImageView!
var addBlur = addBlurEffect(_: blurHeader)
但是我收到了这个错误"实例成员' blurHeader'不能用于类型' ViewController'" instance error
在向我指出可能的解决方案时,非常感谢任何帮助。感谢。
哦,我也尝试了以下相同的结果:
convenience init(objToBlur: UIImageView) {
self.init()
objectToBlur = objToBlur
blur()
}
答案 0 :(得分:1)
这有两个问题:
@IBOutlet weak var blurHeader: UIImageView!
var addBlur = addBlurEffect(_: blurHeader)
首先,第二行甚至不是Swift。这只是胡说八道。也许你的意思是:
@IBOutlet weak var blurHeader: UIImageView!
var addBlur = addBlurEffect(objToBlur:blurHeader)
但是你不能说这个,至少不是你已经表现出来的方式,因为你不能通过引用另一个属性来初始化一个属性(addBlur
)({ {1}})。