神刀安全网

使用 IB 填坑记

在自定义控件的时候,我们经常需要不断的运行程序来查看控件效果是否符合要求,但是每次编译运行都很浪费时间,所以我特别喜欢使用 IB 来预览效果。这篇博文主要记录两点使用注意事项。

IBInspectable

在使用 @IBInspectable 来标注属性的时候,一定要显式的指明变量类型,而不是用 type infer。如果不显式的指定,IB 将不能够识别这个属性。例如:

var bgColor: UIColor = UIColor.grayColor() {
didSet {
bgLayer.strokeColor = bgColor.CGColor
}
}

如果没有显示的指定变量类型为 UIColor IB 中将不会有这个属性的选项。

Runtime Attributes

你可以参考我的这篇文章来看看 运行时属性 的功能。

其实,我们使用 @IBInspectable 的时候,其原理也是使用 Runtime Attributes 来进行属性的赋值:

使用 IB 填坑记

这里需要注意的是,如果我们将其中的 curValue@IBInspectable 中去掉,记得一定要回到上图这里,将这里的 curValue 手动删除! Xcode 目前还没这么智能,如果运行时发现有些奇怪的赋值现象,很有可能坑在这里。

希望这两个坑能够节省你 10 分钟的 debug 时间 ^_^Happy Hacking!

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 使用 IB 填坑记

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮