首页 > 解决方案 > 使用 XIB 创建自定义视图时出错

问题描述

我使用 xib 创建了一个自定义视图和界面。

class CardStatus: UIView{

    override func awakeFromNib() {
        super.awakeFromNib()
        let bundle = Bundle(for: CardStatus.self)
        let nib = UINib(nibName: "CardStatus", bundle: bundle)
        guard let view = nib.instantiate(withOwner: self, options: nil).first as? UIView else { fatalError("Error loading \(self) from nib") }
        addSubview(view)
        view.translatesAutoresizingMaskIntoConstraints = false
    }

}

xib 如下所示:

在此处输入图像描述

在情节提要中,我已将课程设置为我的自定义课程,如下所示。

在此处输入图像描述

错误如下:

在此处输入图像描述

它进入无限循环。

我也尝试了以下方法

class CardStatus: UIView{

    required init?(coder aDecoder: NSCoder)() {
        super.init(coder: aDecoder)
        let bundle = Bundle(for: CardStatus.self)
        let nib = UINib(nibName: "CardStatus", bundle: bundle)
        guard let view = nib.instantiate(withOwner: self, options: nil).first as? UIView else { fatalError("Error loading \(self) from nib") }
        addSubview(view)
        view.translatesAutoresizingMaskIntoConstraints = false
    }

}

标签: iosswift4.2custom-view

解决方案


推荐阅读