Swift 如何从XIB文件加载自定义创建的视图并添加到StackView
我有一个XIB文件,其中有UIView类型的类,我不想在根ViewController中加载该XIB: 导入UIKit 类ViewController:UIViewController{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
// 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文件的所有者