在Swift中正确地将UIView子类链接到XIB文件

时间:2015-01-05 00:46:57

标签: ios swift uiview

我一直在想如何使用链接的XIB文件在Swift中正确地继承UIView。基本上,我想要一个Swift文件,其中包含UIView子类的方法,以及视图本身的接口构建器XIB文件。我想给我的XIB文件的组件命名,并在我的UIView子类的实例中访问它们。我不确定我现在是否正确执行此操作,下面是我的用于ChapterView的UIView子类,其中包含一个名为chapterText的单个UITextView:

class ChapterView: UIView {

    var viewFromNib: UIView?
    @IBOutlet weak var chapterText: UITextView!

    override init (frame : CGRect) {
        super.init(frame : frame)
        loadSubviews()
    }

    convenience override init () {
        self.init(frame:CGRectZero)
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    func loadSubviews () {
        self.viewFromNib = NSBundle.mainBundle().loadNibNamed("ChapterView", owner: self, options: nil)[0] as? UIView
        self.chapterText = viewFromNib?.subviews[0] as UITextView
    }
}

我有一个名为“ChapterView”的XIB文件,其中包含UITextView中的文本。为了将我的视图添加到主视图控制器的视图中,当我想在XIB中添加视图时,我只需要添加ChapterView实例(消除将整个视图加载为viewFromNib),我当前必须添加ChapterView.viewFromNib。我拥有的是为我工作,但它看起来很难看。我该怎么做呢?

0 个答案:

没有答案