如何从 XIB 文件加载自定义创建的视图并添加到 StackView
Posted
技术标签:
【中文标题】如何从 XIB 文件加载自定义创建的视图并添加到 StackView【英文标题】:How to load Custom Created view from XIB file and add to StackView 【发布时间】:2019-09-03 21:13:25 【问题描述】:我有一个 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 的键值编码不兼容。'
【问题讨论】:
【参考方案1】:您是 Xib 文件的文件所有者吗?将CustomView
类分配给 Xib 文件的所有者
【讨论】:
以上是关于如何从 XIB 文件加载自定义创建的视图并添加到 StackView的主要内容,如果未能解决你的问题,请参考以下文章