Swift 3中的@IBDesignable和@IBInspectable。

IBDesignable IBInspectable ,这是一种创建自定义元素和属性的方法。 可以直接将其添加到iOS Interface Builder。

此WWDC 2015视频演示了如何实现自定义UI元素。

在Interface Builder中实现UI设计– WWDC 2015 –视频– Apple Developer
突出的应用程序必须具有吸引力,直观且易于使用。 Interface Builder专家将为您提供技能… developer.apple.com

IB可设计

IBDesignable属性将标识UIView或从UIView继承的元素-例如:UIButton,UIImageView,UILabel等。

例如,我创建了一个Custom UIButton类,

  @IBDesignable 
打开类KGHighLightedButton:UIButton {
 公共替代init(框架:CGRect){ 
super.init(frame:框架)
setTitle(“ MyTitle”,用于:.normal)
setTitleColor(UIColor.blue,for:.normal)
}
 公用必需的init?(编码器aDecoder:NSCoder){ 
super.init(编码器:aDecoder)
}
  } 

添加此类后,在ViewController中导入自定义类

  #import KGHighLightedButton 

在Interface Builder(`StoryBoard`)中,拖放UIButton。 转到“ 显示身份检查器 ”,并将类和模块设置为“ KGHighLightedButton”。

IB检查

让我们在按钮上添加一些自定义属性。 🙌

为此,我们必须使用IBInspectable属性。 让我们看看如何添加它们。

  @IBInspectable 
public var cornerRadius:CGFloat = 2.0 {
didSet {
self.layer.cornerRadius = self.cornerRadius
}
}

这将把corner_radius属性添加到您的按钮。 您将能够在Attributes Inspector中看到它们

IBInspectable可以与以下类型一起使用,

  • Int
  • CGFloat
  • Double
  • String
  • Bool
  • CGPoint
  • CGSize
  • CGRect
  • UIColor
  • UIImage

您可以在这里https://github.com/Gypsyan看到我的项目

Interesting Posts