Jam*_*eel 15 uiimageview ios swift
我试图让UIImage视图可点击,但我没有运气.完成此任务的最佳方法是什么?我得到的错误是"无法将类型'() - > _'的值转换为指定类型'UIImageView'".
lazy var profileImageView: UIImageView = {
let imageView = UIImageView()
imageView.image = UIImage(named: "ic_file_upload_white_48pt")
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.contentMode = .scaleAspectFill
imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleSelectorProfileImage)))
imageView.isUserInteractionEnabled = true
return imageView
}
Run Code Online (Sandbox Code Playgroud)
Dun*_*n C 51
您告诉编译器您要profileImageView包含一个闭包.如果希望profileImageView包含该闭包的结果,则需要在之后添加parens以调用闭包:
lazy var profileImageView: UIImageView = {
//your code here
return imageView
}()
Run Code Online (Sandbox Code Playgroud)
关闭后请注意括号.这会在您第一次引用变量时将结果调用给您profileImageView的变量.
看起来像语法问题,请尝试
func profileImageView() -> UIImageView {
let imageView = UIImageView()
imageView.image = UIImage(named: "ic_file_upload_white_48pt")
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.contentMode = .scaleAspectFill
imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleSelectorProfileImage)))
imageView.isUserInteractionEnabled = true
return imageView
}
Run Code Online (Sandbox Code Playgroud)
小智 6
您应该在计算属性结束后添加括号以执行它。
lazy var profileImageView: UIImageView = {
let imageView = UIImageView()
imageView.image = UIImage(named: "ic_file_upload_white_48pt")
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.contentMode = .scaleAspectFill
imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleSelectorProfileImage)))
imageView.isUserInteractionEnabled = true
return imageView
}()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8207 次 |
| 最近记录: |