微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用loadNibNamed

如何解决使用loadNibNamed

这是我的代码

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

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

func commonInit() {
    let mainBundle = Bundle.main
    mainBundle.loadNibNamed("iconView",owner: self,options: nil)
    addSubview(contentView)
    contentView.frame = self.bounds
    contentView.autoresizingMask = [.flexibleWidth,.flexibleHeight]
}

我从见过的this tutorial的第8步复制了它(我只将代码中的名称更改为我的xib文件:“ iconView”)。 但是由于某种原因它失败了:

fail

我已经在stackoverflow中尝试了所有解决方案,但没有任何帮助。 这是我的xib文件

xib file

我真的不知道该怎么办。 我正在使用Xcode 12 beta 6,iOS 14 beta 6 更新 好的,很多人在本教程的评论中说

这将导致无限循环调用commonInit()。

所以现在我知道了问题所在,但我仍然不知道如何解决。有什么想法吗?

解决方法

您可能必须从视图中删除Class。

首先选择您的View(在您的情况下为iconView):

enter image description here

,然后清除class字段中的所有内容:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。