在awakeFromNib()上-错误实例成员“按钮”不能用于类型“ CustomView”

费利克斯·马里亚纳亚加姆(Felix Marianayagam)

我已经创建了一个自定义UIView作为.xib文件,其中UIView具有一个按钮。我使用以下代码加载UIView。

struct ContentView: View {
    var body: some View {
        CustomViewRepresentable()
    }
}

struct CustomViewRepresentable: UIViewRepresentable {
    typealias UIViewType = CustomView

    func makeUIView(context: UIViewRepresentableContext<CustomViewRepresentable>) -> CustomView {
        let customView = Bundle.main.loadNibNamed("CustomView", owner: nil, options: nil)![0] as! CustomView
        return customView
    }

    func updateUIView(_ uiView: CustomView, context: UIViewRepresentableContext<CustomViewRepresentable>) {
    }
}

自定义视图具有以下代码:

class CustomView: UIView {

    @IBOutlet weak var button: UIButton!

    override init(frame: CGRect) {
        super.init(frame: frame)
    }

    required init?(coder: NSCoder) {
        super.init(coder: coder)
    }

    override class func awakeFromNib() {
        super.awakeFromNib()
        // Error - Instance member 'button' cannot be used on type 'CustomView'
        button.addTarget(self, action: #selector(touchUpInside), for: .touchUpInside)
    }

    @objc func touchUpInside(_ sender: UIButton) {
        print("Button clicked")
    }
}

我已将源代码上传到github。这是链接https://github.com/felixmariaa/AwakeFromNibTest/

这应该可以工作,但我不确定出什么问题了。

费利克斯·马里亚纳亚加姆(Felix Marianayagam)

当键入awakeFromNib时,我使用了XCode提供的自动完成功能来完成该功能,从而产生了以下代码:

override class func awakeFromNib() {
} 

注意func声明中这是导致错误的原因:我将其删除,并且代码运行正常。以为这会帮助某人。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Swift 4上带有嵌套类的“实例成员不能用于类型”错误

Swift 错误“静态成员不能用于类型的实例”

惰性变量给出“实例成员不能用于类型”错误

错误:实例成员不能在类型'ViewController'上使用

静态成员不能用于类型的实例

实例成员不能用于类型

实例成员...不能用于类型 ViewController

实例成员不能在类型上使用

随机不能用于实例Int,在Linux上的行为

“实例成员'makeAlert'不能用于类型'alert'”我无法解决此错误

我经常收到错误“实例成员 isPaused 不能用于类型 GameScene”

Swift-简单修复“实例成员不能用于类型”错误?

在CustomView ListView上使用“编辑文本”进行搜索的功能

带有 xml 的 CustomView 没有显示在屏幕上

具有缩放功能的Android上的CustomView不起作用

Swift - 静态成员动画不能用于 uiview 类型的实例

静态成员“load”不能用于“AppDelegate”类型的实例

实例成员 'result' 不能用于类型 'Regex.Match'

实例成员'addChild'不能用于类型'AnchorEntity'

实例成员不能用于类NSObject的类型

Swift 3:实例成员'CognitoPoolID'不能用于类型'Constants'

如何创建用于显示电池电量的 CustomView

Android绑定适配器不适用于CustomView

CustomView的问题

Swift实例成员不能在类型上使用

实例成员不能在'ViewController'类型上使用

Swift:实例成员不能在类型上使用

实例成员“图层”不能在类型“ CustomPrettyView”上使用

将数据传回前一个视图控制器(实例成员不能用于类型错误)