2016-02-24 70 views
4

是否可以在故​​事板上创建可重用堆栈视图,以便以后可以动态使用?排序模板/窗口小部件/组件。XCode:是否可以创建可重用的堆栈视图?

我知道我可以用类做到这一点,但如果我能够直观地生成一组可以在后期重新使用的组件,我可以让我们的设计人员直接更改故事板。

回答

2

是的。

  1. 创建一个空的xib,然后向它添加一个堆栈视图。
  2. 然后创建一个扩展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 
    } 
    
  3. 创建viewController.Add一个stackView到it.In StackView属性,命名为自定义类转到第3条,类名是给stackView类名

相关问题