swift – 使用@ IBDesigable@ IBInspectable在故事板中的按钮上不显示转角半径

swift – 使用@ IBDesigable@ IBInspectable在故事板中的按钮上不显示转角半径,第1张

概述我有一个按钮的自定义类. import UIKit@IBDesignableclass CustomButton: UIButton { @IBInspectable var cornerRadiusValue: CGFloat = 10.0 { didSet { setUpView() } } requir 我有一个按钮的自定义类.

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在故事板中的按钮上不显示转角半径所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1209291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存