swift - 如何从 XIB 文件加载自定义创建的视图并添加到 StackView
问题描述
我有 XIB 文件,其中有 UIView 类型的类,我不会在根 ViewController 中加载该 XIB:
导入 UIKit
类视图控制器: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
类自定义视图: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)
}
}
此类与键 backgroundImageView 的键值编码不兼容。
解决方案
推荐阅读
- android - Flutter C++ 内存分配导致光栅线程卡顿 - Android NDK Dart FFI
- xamarin - Xamarin.Forms 在哪里存储以及如何访问 Android 上的不同 DPI 图像?
- css - Material-UI 全局覆盖:如何定位内部元素?
- r - 如何在我的代码行中使用 tidy()?之后我将如何在 mutate() 中使用 recode() 并使用 ci 95%?
- python-3.x - Python Tkinter:单击tkinter的button_widget时运行python脚本并保留返回变量的值
- sql - 无法在 Db2 的标量子查询中使用 CTE
- apache-spark - 合并来自 DataFrame 的列
- javascript - 找不到模块'@babel/runtime-corejs2/core-js/reflect/construct'
- python - Mac Poppler + pdf2image 路径错误
- android - 片段旋转上带有edittext的saveInstanceState不起作用