转载

优雅地自定义XibView

好习惯,先上 源码 。

先创建一个UIView文件和一个Xib文件,在Xib文件里设置如下,

优雅地自定义XibView

在UIView文件中,不是用 -awakeFromNib() 作为构造器,而是正常的 -init(frame: CGRect)

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

-xibSetup() 才是关键,具体可看源码。

如果需要UIView和Xib文件建立控件属性关联,是设置Xib文件的File`s Owner, 而不是设置View的Custom Class

优雅地自定义XibView

设置了File`s Owner就可以像往常一样拖线了。

如果想在 Main.storyboard 文件中直接使用此Xib,同时也想在SB中设置属性,那怎么使用呢?

1.在SB中加入一个UIView,将其Class设置成 XibView

2.使用 @IBInspectable

@IBInspectable var title: String? {  get {   return xibLabel.text  }  set {   xibLabel.text = newValue  } }  

添加了 @IBInspectable 之后,就可以像系统自带的控件一样设置属性了。

优雅地自定义XibView

正文到此结束
Loading...