下面给出的课程工作正常
@IBDesignable class iButton : UIButton {
@IBInspectable var cornerRadius : CGFloat = 0.0{
didSet{
layer.cornerRadius = cornerRadius
}
}}
但问题是,当我在属性检查器中为大小为(宽度:70,高度70)的按钮设置cornerRadius值35时。我在故事板上得到圆形按钮,但在模拟器上运行它不是圆形而是圆角矩形。
我在xCode上的设计视图是iPhone-SE,并在iPhone-7-plus模拟器上进行模拟。
我还通过在尺寸检查器上设置高度和宽度来启用自动调整大小。
据我所知,角半径应该是宽度的一半。当通过自动调整大小调整按钮大小时,为什么不调整角半径。我该如何解决这个问题?
提前致谢。
答案 0 :(得分:1)
import UIKit
@IBDesignable
class RoundedCornerButton: UIButton {
override func drawRect(rect: CGRect) {
self.clipsToBounds = true
}
@IBInspectable var cornerRadius: CGFloat = 0 {
didSet {
self.layer.cornerRadius = cornerRadius
}
}
}
或者您可以在此链接中查看此链接以获取更多信息
答案 1 :(得分:-1)
谢谢你我得到了答案。
我们还需要缩放cornerRadius。
layer.cornerRadius = cornerRadius * (UIScreen.main.bounds.width/320.0) //320.0 be my width of the screen that i designed on storyboard