将自定义UIButton样式应用于所有Button

van*_*t.p 3 uibutton ios appdelegate swift

我想对多个情节提要中的所有视图控制器应用某种样式。我有许多视图控制器,因此将样式应用于每个视图控制器听起来很愚蠢。我想以最精简的代码方式进行操作。我一直在考虑在AppDelegate文件中执行此操作,因为您还可以在其中更改您的navigationcontroller样式,但到目前为止没有成功。甚至都没有。

有人知道我该怎么做吗?

我正在为该应用程序使用Swift。

下面造型原则必须适用于: cornerRadiusshadowColorshadowOffsetshadowRadiusshadowOpacitymaskToBounds

San*_*ari 7

UIComponents您创建扩展名以添加通用样式。

就像在 UIButton

extension UIButton {
    open override func draw(_ rect: CGRect) {
        //provide custom style
        self.layer.cornerRadius = 10 
        self.layer.masksToBounds = true
    }
}
Run Code Online (Sandbox Code Playgroud)

或创建的子类UIButton并提供您要应用的所有样式,并确保您的按钮从自定义类扩展

extension UIButton {
    open override func draw(_ rect: CGRect) {
        //provide custom style
        self.layer.cornerRadius = 10 
        self.layer.masksToBounds = true
    }
}
Run Code Online (Sandbox Code Playgroud)