XCode:是不是可以创建可重用的堆栈视图?
Posted
技术标签:
【中文标题】XCode:是不是可以创建可重用的堆栈视图?【英文标题】:XCode: Is it possible to create reusable stack views?XCode:是否可以创建可重用的堆栈视图? 【发布时间】:2016-02-24 08:10:46 【问题描述】:是否可以在故事板上创建可重用的堆栈视图,以便以后动态生成?一种模板/小部件/组件。
我知道我可以通过一个类来做到这一点,但如果我能够直观地生成一组可以在以后重用的组件,我也许可以让我们的设计师直接对故事板进行更改。
【问题讨论】:
【参考方案1】:是的——您可以使用任何 UIView 执行此操作。这方面有很多教程(例如http://onedayitwillmake.com/blog/2013/07/ios-creating-reusable-uiviews-with-storyboard/)
基本思路是将一个拖到 Storyboard 或 XIB 上,为它创建一个自定义类,然后实现视图的 awakeFromNib
来加载它。
【讨论】:
【参考方案2】:是的。是的。
-
创建一个空的 xib,然后向其中添加一个堆栈视图。
然后创建一个扩展 UIStackView 的类。
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
创建一个 viewController。添加一个 stackView 到它。在 StackView 属性中,转到名为自定义类的第 3 个栏,对于类名,请给出 stackView 类名
【讨论】:
以上是关于XCode:是不是可以创建可重用的堆栈视图?的主要内容,如果未能解决你的问题,请参考以下文章