import UIKit@IBDesignableclass Custombutton: UIbutton { @IBInspectable var cornerRadiusValue: CGfloat = 10.0 { dIDSet { setUpVIEw() } } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) self.layer.cornerRadius = 10.0 } overrIDe func awakeFromNib() { setUpVIEw() } overrIDe func prepareForInterfaceBuilder() { super.prepareForInterfaceBuilder() setUpVIEw() } func setUpVIEw() { self.layer.cornerRadius = 10.0 }}
我理解@IBInspectable只允许您更改检查器面板中的值.我想这不是我想要的.
当我创建一个具有该类的按钮时,我希望角落半径只显示在故事板中.我认为这就是@IBDesignable的作用.
解决方法 您的代码在IB中崩溃,因此可设计性失败.以下是更简单的代码:@IBDesignableclass Custombutton: UIbutton { @IBInspectable var cornerRadiusValue: CGfloat = 10.0 { dIDSet { setUpVIEw() } } overrIDe func awakeFromNib() { super.awakeFromNib() setUpVIEw() } overrIDe func prepareForInterfaceBuilder() { super.prepareForInterfaceBuilder() setUpVIEw() } func setUpVIEw() { self.layer.cornerRadius = self.cornerRadiusValue self.clipsToBounds = true }}
现在按钮既可检测又可设计:
它也适用于正在运行的应用程序.
总结以上是内存溢出为你收集整理的swift – 使用@ IBDesigable / @ IBInspectable在故事板中的按钮上不显示转角半径全部内容,希望文章能够帮你解决swift – 使用@ IBDesigable / @ IBInspectable在故事板中的按钮上不显示转角半径所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)