Swift 5.0 圆形 UIButton
Swift 5.0 Circular UIButton
正如标题所说,我想创建一个圆形的UIButton。但是,我目前正在学习的课程(有些)已经过时,而且我无法找到解决这段代码为何不起作用的有效解决方案。大多数 google 搜索最终显示的代码与我这里的代码有些相同,但给了我完全相同的错误。希望你们能解释我在这里做错了什么。
包含错误信息的代码:
错误很明显,与过时的代码无关。这可能是一个代码完成错误。
您不能在 class 函数中使用 instance 变量,即使在 Swift 1.
删除 awakeFromNib
行中的 class
以应用 实例 方法
从函数签名中删除关键字 class
并使用 bounds
代替框架
override func awakeFromNib() {
layer.cornerRadius = max(bounds.maxY,bounds.maxX)/2
layer.masksToBounds = true
}
但更好的是在布局子视图中添加cornerRadius
override func layoutSubviews() {
layer.cornerRadius = max(bounds.maxY,bounds.maxX)/2
}
正如标题所说,我想创建一个圆形的UIButton。但是,我目前正在学习的课程(有些)已经过时,而且我无法找到解决这段代码为何不起作用的有效解决方案。大多数 google 搜索最终显示的代码与我这里的代码有些相同,但给了我完全相同的错误。希望你们能解释我在这里做错了什么。
包含错误信息的代码:
错误很明显,与过时的代码无关。这可能是一个代码完成错误。
您不能在 class 函数中使用 instance 变量,即使在 Swift 1.
删除 awakeFromNib
行中的 class
以应用 实例 方法
从函数签名中删除关键字 class
并使用 bounds
override func awakeFromNib() {
layer.cornerRadius = max(bounds.maxY,bounds.maxX)/2
layer.masksToBounds = true
}
但更好的是在布局子视图中添加cornerRadius
override func layoutSubviews() {
layer.cornerRadius = max(bounds.maxY,bounds.maxX)/2
}