首页 文章

自定义UI按钮默认颜色Xcode Swift

提问于
浏览
1

我正在尝试创建一个自定义UIButton类,但我没有看到backGround颜色更新,也没有在检查器中显示为默认颜色 . 我希望它能够让我可以从这个类文件中更改这些实例的所有颜色,而无需为每个按钮手动设置它 .

import UIKit

@IBDesignable class PrimaryButton: UIButton {

    @IBInspectable var borderwidth: CGFloat = 0.0 {
      didSet {
        self.layer.borderWidth = borderwidth
      }
   }
   @IBInspectable var cornerradius: CGFloat = 4.0 {
      didSet {
        self.layer.cornerRadius = cornerradius
      }}
   }
    @IBInspectable var backgroundcolor: UIColor = UIColor.red {
      didSet {
        self.layer.backgroundColor = backgroundcolor.cgColor
      }
    }
}

1 回答

  • 1

    您可以尝试创建这样的自定义类,然后为IB中的任何按钮设置它

    @IBDesignable class MyNewButton: UIButton {
    
        override init(frame: CGRect) {
            super.init(frame: frame)
            shared()
        }
        required init?(coder aDecoder: NSCoder) {
            super.init(coder: aDecoder)
            shared()
        }
    
       override func prepareForInterfaceBuilder() {
           super.prepareForInterfaceBuilder()
           shared()
       }
       func shared() {
    
            //TODO: add any custom settings here
            self.layer.cornerRadius = value
            self.layer.borderWidth = value
            self.layer.borderColor = UIColor.red.cgColor
       }
    
    }
    

相关问题