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看到我的项目。