Ios XCode:是否可以创建可重用的堆栈视图?
是否可以在故事板上创建可动态使用的可重用堆栈视图,以便以后生成?有点像模板/小部件/组件 我知道我可以用一个类来实现这一点,但是如果我能够可视化地生成一组组件,这些组件可以在以后重新使用,那么我就可以让我们的设计人员直接对故事板进行更改。是的,您可以用任何UIView来实现这一点。这方面有很多教程(例如) 基本思想是将一个视图拖到故事板或XIB上,为其创建一个自定义类,然后实现视图的Ios XCode:是否可以创建可重用的堆栈视图?,ios,xcode,uistackview,Ios,Xcode,Uistackview,是否可以在故事板上创建可动态使用的可重用堆栈视图,以便以后生成?有点像模板/小部件/组件 我知道我可以用一个类来实现这一点,但是如果我能够可视化地生成一组组件,这些组件可以在以后重新使用,那么我就可以让我们的设计人员直接对故事板进行更改。是的,您可以用任何UIView来实现这一点。这方面有很多教程(例如) 基本思想是将一个视图拖到故事板或XIB上,为其创建一个自定义类,然后实现视图的awakeFromNib来加载它。是的 创建一个空的xib,然后向其中添加堆栈视图 然后创建一个扩展UIStack
awakeFromNib
来加载它。是的
class stackView: UIStackView {
var contentView : UIStackView!
override init(frame: CGRect) {
super.init(frame: frame)
xibSetup()
}
required init(coder: NSCoder) {
super.init(coder: coder)
xibSetup() }
func xibSetup() {
contentView = loadViewFromNib()
contentView.frame = bounds
contentView.autoresizingMask = [UIViewAutoresizing.flexibleWidth, UIViewAutoresizing.flexibleHeight]
addSubview(contentView)
}
func loadViewFromNib() -> UIStackView! {
let view: UIStackView? = Bundle.main.loadNibNamed("stackView", owner: nil, options: nil)?.first as! UIStackView?
return view
}