是否可以在故事板上創建可重用堆棧視圖,以便以後可以動態使用?排序模板/窗口小部件/組件。XCode:是否可以創建可重用的堆棧視圖?
我知道我可以用類做到這一點,但如果我能夠直觀地生成一組可以在後期重新使用的組件,我可以讓我們的設計人員直接更改故事板。
是否可以在故事板上創建可重用堆棧視圖,以便以後可以動態使用?排序模板/窗口小部件/組件。XCode:是否可以創建可重用的堆棧視圖?
我知道我可以用類做到這一點,但如果我能夠直觀地生成一組可以在後期重新使用的組件,我可以讓我們的設計人員直接更改故事板。
是的 - 你可以用任何UIView做到這一點。這裏有很多教程(例如http://onedayitwillmake.com/blog/2013/07/ios-creating-reusable-uiviews-with-storyboard/)
其基本思想是將一個人拖到Storyboard或XIB上,爲它定製一個類,然後實現視圖的awakeFromNib
加載它。
是的。
然後創建一個擴展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.Add一個stackView到it.In StackView屬性,命名爲自定義類轉到第3條,類名是給stackView類名