Swift 如何从XIB文件加载自定义创建的视图并添加到StackView

Swift 如何从XIB文件加载自定义创建的视图并添加到StackView,swift,xib,uistackview,loadnibnamed,Swift,Xib,Uistackview,Loadnibnamed,我有一个XIB文件,其中有UIView类型的类,我不想在根ViewController中加载该XIB: 导入UIKit 类ViewController:UIViewController{ // MARK: - Variables // MARK: - IBOutlets @IBOutlet private weak var mainStackView: UIStackView! // MARK: - LifeCycle Methods override func viewDidLoa

我有一个XIB文件,其中有UIView类型的类,我不想在根ViewController中加载该XIB:

导入UIKit

类ViewController:UIViewController{

// MARK: - Variables


// MARK: - IBOutlets

@IBOutlet private weak var mainStackView: UIStackView!


// MARK: - LifeCycle Methods

override func viewDidLoad() {
    super.viewDidLoad()


    if let view = CustomView.instanceFromNib() {

    let view = CustomView.instanceFromNib() as! CustomView
        mainStackView.addArrangedSubview(view)
        mainStackView.addArrangedSubview(view)
        mainStackView.addArrangedSubview(view)
    }   
}
}

进口基础 导入UIKit

类CustomView:UIView{

static let id = "CustomView"


@IBOutlet weak var backgroundImageView: UIImageView!

override func awakeFromNib() {
    super.awakeFromNib()
}

static func instanceFromNib() -> UIView {
    return UINib(nibName: "UserReview", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! UIView
}

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

}

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


此类与key backgroundImageView的键值编码不兼容。“

您是Xib文件的文件所有者吗??将
CustomView
类分配给Xib文件的所有者