Swift - 带有 xib 文件的自定义视图,IBOutlet 为 nil

Posted

技术标签:

【中文标题】Swift - 带有 xib 文件的自定义视图,IBOutlet 为 nil【英文标题】:Swift - Custom View with xib file, IBOutlet is nil 【发布时间】:2017-01-09 03:46:19 【问题描述】:

我有一个使用 xib 文件设计的自定义按钮,如下所示:

然后我将它连接到我的故事板,如下所示:

但是当我运行应用程序时,我收到运行时错误,抱怨 IBOutlet ivRightIcon 为 nil

@IBInspectable var rightIcon: UIImage? = nil
    didSet
            ivRightIcon.image = rightIcon
        
    

我的插座已正确连接到 xib 文件 我正在使用 Swift 3 和 xCode 8.2.1 请帮忙!

【问题讨论】:

【参考方案1】:

我设法解决了这个问题。我应该将 View 类设置为 UIButton 并将 File's Owner 设置为我的自定义按钮类

【讨论】:

【参考方案2】:

我认为您需要将您的 xib 与文件响应程序连接起来,并将类分配给文件响应程序而不是视图。然后将 xib 的 IBOutlet 连接到该类。

【讨论】:

您一定是指文件的所有者

以上是关于Swift - 带有 xib 文件的自定义视图,IBOutlet 为 nil的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Objective-C 控制器中以编程方式加载用 swift 编写的自定义 XIB 视图

使用 Swift 3 Xcode 8 加载时缺少自定义 XIB

显示来自 Xib 的自定义视图

使用 xib 和 tableView 的多个视图

iOS 自定义 .xib 视图按钮点击检测在视图控制器 (Swift)

在具有动态高度的 IB uitableviewcell 中使用带有 XIB 的自定义视图