我正在尝试在Storyboard上设置UIButton边框颜色:
但按钮仍然是黑色。当我尝试使用layer.borderColor时,它根本不显示边框。
如何选择颜色?
谢谢
//更新
我已经将基于@dfd设置的方式改为:
import Foundation
import UIKit
@IBDesignable
public class OnboardingButton: UIButton {
@IBInspectable public var borderColor:UIColor? {
didSet {
layer.borderColor = borderColor?.cgColor
}
}
@IBInspectable public var borderWidth:CGFloat = 0 {
didSet {
layer.borderWidth = borderWidth
}
}
@IBInspectable public var cornerRadius:CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
}
在Storyboard自定义类中设置为 * OnboardingButton 应用程序开始构建但Faield。日志中没有错误。我在哪里可以找到错误以及如何修复它?
答案 0 :(得分:3)
这是我的UIButton子类:
@IBDesignable
public class Button: UIButton {
@IBInspectable public var borderColor:UIColor? {
didSet {
layer.borderColor = borderColor?.cgColor
}
}
@IBInspectable public var borderWidth:CGFloat = 0 {
didSet {
layer.borderWidth = borderWidth
}
}
@IBInspectable public var cornerRadius:CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
}
编辑:
我创建了一个简单的项目并添加了上面的IBDesignable子类。以下是结果的三个屏幕截图。请注意,在Identity检查器中,我将Class设置为Button,而不是UIButton,并且它报告Designables是“最新的”。请注意,在“属性”检查器中,这些属性显示为最顶层的属性。
答案 1 :(得分:0)
您可以更改UIButton表单界面构建器的某些属性,但不能更改边框颜色。另一种方法是将其子类化,如dfd建议的答案。