我正在尝试在 Storyboard 上设置 UIButton 边框颜色:

Swift 在 Storyboard 中设置 UIButton setBorderColor-LMLPHP

但是按钮仍然是黑色的。当我尝试使用 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 应用程序后开始构建但失败。日志中没有错误。我在哪里可以找到错误以及如何修复它?

最佳答案

这是我的 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 子类。下面是结果的三个屏幕截图。请注意,在身份检查器中,我将类设置为 Button,而不是 UIButton,并且它报告 Designables 是“最新的”。请注意,在属性检查器中,这些显示为最顶部的属性。

Swift 在 Storyboard 中设置 UIButton setBorderColor-LMLPHP
Swift 在 Storyboard 中设置 UIButton setBorderColor-LMLPHP
Swift 在 Storyboard 中设置 UIButton setBorderColor-LMLPHP

关于Swift 在 Storyboard 中设置 UIButton setBorderColor,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42041809/

10-10 19:59