gpt4 book ai didi

ios - 在从 xib 文件实例化的自定义 View 中将导出连接到约束导致崩溃

转载 作者:行者123 更新时间:2023-11-28 08:45:03 25 4
gpt4 key购买 nike

我有一个自定义的 UIView 子类,其布局在 .xib 文件中定义。

我使用从应用程序包中加载 xib 的类方法创建实例,如下所示:

class CustomTitleView: UIView
{
@IBOutlet weak var titleLabel: UILabel!

@IBOutlet weak var infoButton: UIButton!

class func instance() -> CustomTitleView
{
return UINib(nibName: "CustomTitleView", bundle: nil).instantiateWithOwner(self, options: nil)[0] as! CustomTitleView
}
}

此代码按预期工作。我将此 View 用作 View Controller 中的自定义导航标题。

xib 具有自动布局约束:

  • 将标签在其父 View 中水平和垂直居中,
  • 将按钮相对于标签垂直居中,
  • 固定标签和按钮之间的水平间距。

接下来,我希望给标签加上一个width约束,并在上面的代码中将它连接到一个outlet,这样我就可以在运行时控制它(处理文本太长的截断等)。

xib 的文件所有者设置为我的自定义类。我将宽度约束中的“新引用 socket ”连接到我类(class)中的新 socket :

@IBOutlet weak var widthConstraint:NSAutolayoutConstraint!

当我运行我的代码时,它在这一行崩溃:

return UINib(nibName: "CustomTitleView", bundle: nil).instantiateWithOwner(self, options: nil)[0] as! CustomTitleView

错误:

This class is not key value coding-compliant for the key widthConstraint

我错过了什么?


注意:以下都没有帮助

  • 清理构建文件夹并重建。
  • 断开电源 socket 并重新连接。
  • 将 socket 连接到另一个(现有的)约束条件。

最佳答案

我看到的唯一奇怪的事情是使用 NSAutoLayoutConstraint 而不是 NSLayoutConstraint

关于ios - 在从 xib 文件实例化的自定义 View 中将导出连接到约束导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35551005/

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