Swift 为 UIButton 样式创建通用 class
Swift to create common class for UIButton styles
我在多个 class 文件中使用多个按钮,它们具有相同的外观和感觉,但操作和标题不同。因此,我需要创建通用的 class 并且所有其他 class 都需要引用它以获得 UIButton 阴影外观。
此外,请让我知道哪个是 UIReusability 的最佳扩展或常见 class。
下面是我使用的代码
sbutton.layer.cornerRadius = 21
sbutton.clipsToBounds = true
sbutton.layer.shadowColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.25).cgColor
sbutton.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
sbutton.layer.shadowOpacity = 1.0
sbutton.layer.shadowRadius = 1.0
sbutton.layer.masksToBounds = false
在 Swift 4.1 和 Xcode 9.4.1
我正在为此使用共享 Class(编写一次,使用所有软件)
import UIKit
class SharedClass: NSObject {
static let sharedInstance = SharedClass()
func styleForComponents(button: UIButton) {
button.layer.cornerRadius = 21
button.clipsToBounds = true
button.layer.shadowColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.25).cgColor
button.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
button.layer.shadowOpacity = 1.0
button.layer.shadowRadius = 1.0
button.layer.masksToBounds = false
}
private override init() {
}
}
在整个项目中像这样调用这个函数
SharedClass.sharedInstance.styleForComponents(button: sbutton)
我在多个 class 文件中使用多个按钮,它们具有相同的外观和感觉,但操作和标题不同。因此,我需要创建通用的 class 并且所有其他 class 都需要引用它以获得 UIButton 阴影外观。
此外,请让我知道哪个是 UIReusability 的最佳扩展或常见 class。
下面是我使用的代码
sbutton.layer.cornerRadius = 21
sbutton.clipsToBounds = true
sbutton.layer.shadowColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.25).cgColor
sbutton.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
sbutton.layer.shadowOpacity = 1.0
sbutton.layer.shadowRadius = 1.0
sbutton.layer.masksToBounds = false
在 Swift 4.1 和 Xcode 9.4.1
我正在为此使用共享 Class(编写一次,使用所有软件)
import UIKit
class SharedClass: NSObject {
static let sharedInstance = SharedClass()
func styleForComponents(button: UIButton) {
button.layer.cornerRadius = 21
button.clipsToBounds = true
button.layer.shadowColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.25).cgColor
button.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
button.layer.shadowOpacity = 1.0
button.layer.shadowRadius = 1.0
button.layer.masksToBounds = false
}
private override init() {
}
}
在整个项目中像这样调用这个函数
SharedClass.sharedInstance.styleForComponents(button: sbutton)