文章目录
  1. 1. 什么是IBDesignable和@IBInspectable
  2. 2. @IBDesignable和@IBInspectable有什么用?
  3. 3. 什么属性对IBInspectable有用?
  4. 4. @IBDesignable和@IBInspectable的具体例子

什么是IBDesignable和@IBInspectable

使用Interface Builder声明属性
Interface Builder属性就是使用Interface Builder声明属性以与Xcode同步。Swift提供了如下几种Interface Builder属性:IBAction,IBdesignable,IBInspectable以及IBOutlet。这些属性理论上与Objective-C中相应的属性一样。
后面的Interface Builder简称IB

IBOutlet和IBInspectable属性可用于类的属性声明,IBAction属性可用于类的方法声明,IBDesignable属性可用于类的声明。

IBInspectable在IB的Attribute Inspector(属性检查器)中查看类的属性,而IBDesignable能实时更新视图。

@IBDesignable和@IBInspectable有什么用?

这是一个可视化IB界面的DIY功能啊有木有,可以自己DIY自己的控件,并且在可视化界面进行修改并实时更新视图,很方便。
在xcode的可视化界面storyboard和xib都可以使用。

什么属性对IBInspectable有用?

    @IBInspectable var integer: Int = 0
    @IBInspectable var float: CGFloat = 0
    @IBInspectable var double: Double = 0
    @IBInspectable var point: CGPoint = CGPointZero
    @IBInspectable var size: CGSize = CGSizeZero
    @IBInspectable var customFrame: CGRect = CGRectZero
    @IBInspectable var color: UIColor = UIColor.clearColor()
    @IBInspectable var string: String = ""
    @IBInspectable var bool: Bool = false

对应的可视化IB界面如下:

对应在User Defined Runtime Attributes的属性如下:

@IBDesignable和@IBInspectable的具体例子

https://github.com/mozhenhau/TestIBDesignable

文章目录
  1. 1. 什么是IBDesignable和@IBInspectable
  2. 2. @IBDesignable和@IBInspectable有什么用?
  3. 3. 什么属性对IBInspectable有用?
  4. 4. @IBDesignable和@IBInspectable的具体例子