gpt4 book ai didi

swift - IBOutlet 在 IBDesignable 类中为 nil

转载 作者:行者123 更新时间:2023-11-28 05:50:40 26 4
gpt4 key购买 nike

我有一个自定义 View 类,它应该只包含一个标签。我在每个目标中都有一个扩展,它将提供应在 View 中显示的文本,这样我就不必重新创建每个 Controller 只是为了在其中具有不同的标签和背景颜色。

我的自定义代码是:

@IBDesignable
class HomeAccentView: UIView {

@IBOutlet weak var nameLabel: UILabel!

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

setup()
}

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

setup()
}

override func awakeFromNib() {
super.awakeFromNib()

setup()
}

override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()

setup()
}

private func setup() {
backgroundColor = UIColor.main

nameLabel.text = String.headerText
nameLabel.textColor = UIColor.white
}
}

我的 nib 的文件所有者是 HomeAccentView 并且标签作为 Storyboard上的导出连接。 nib storyboard

但每当我尝试设置标签的文本时,它总是 nil。我错过了什么或做错了什么?

最佳答案

您没有为 View 设置类。您只设置了文件所有者,这意味着您告诉 HomeAccessView 负责加载 View ,但您的代码没有显示这一点。这背后有什么动机吗?否则,从文件所有者中删除类并将其设置为供查看。

关于swift - IBOutlet 在 IBDesignable 类中为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53070234/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com