ios - 为什么我无法将 UIImageView 作为参数传递?

标签 ios uiimageview swift2

我试图创建一个类,在初始化时为传递给它的图像添加模糊效果,但在传递 ImageView 时出现错误。我正在使用 Xcode 7.3、Swift 2.2;这是我的代码,请看一下。

这是我的类(class)

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()
}

最佳答案

这有两个问题:

@IBOutlet weak var blurHeader: UIImageView!
var addBlur = addBlurEffect(_: blurHeader)

首先,第二行甚至不是 Swift。这只是无稽之谈。也许您的意思是:

@IBOutlet weak var blurHeader: UIImageView!
var addBlur = addBlurEffect(objToBlur:blurHeader)

但是你也不能这么说,至少不能像你展示的那样,因为你不能通过引用另一个属性()来初始化一个属性(addBlur) >blurHeader)。

关于ios - 为什么我无法将 UIImageView 作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36200234/

相关文章:

ios - xcode (ios/objective c) 访问支持文件

ios - 如何在 iOS 中创建带有渐变的叠加颜色

swift - 从 UIImageView 中删除图片

ios - 当用户与 iAd Swift 交互时暂停游戏

ios - 在 NSURLSession POST 请求后快速重新加载数据的时间是多少

arrays - 函数数组<可选<T>> -> 可选<数组<T>>

ios - 以编程方式快速拉伸(stretch)背景图像

ios - 使用CCMenuItemImage在hud层中创建单个按钮

ios - 应用商店提交 : No Identities

ios - 在 iOS 的后台线程中加载多个图像