保存样式元素以在其他视图控制器中重用
Save styled element to reuse in other view controllers
我正在使用 Xcode 制作一个 iOS 应用程序,其中我所有的按钮都应该具有相同的样式。这些按钮之间的唯一区别是它们的高度和宽度。有没有办法保存我设计的第一个样式,然后在不同的视图控制器中再次使用它,而无需复制?我在想,如果这可行的话,我会节省很多时间。
将相同的样式应用于 UIButton
的多个实例:
严格程序化路线:
前两种方法是我会做的。第三个只是为了说明可以编写一个 init
从另一个按钮复制设置。
应用子预设样式 class:
class StyledButton : UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
self.backgroundColor = UIColor.blackColor()
// more styling
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
对 UIButton 应用带有扩展名的预设样式:
extension UIButton {
func setCustomStyle1() {
self.backgroundColor = UIColor.blackColor()
// nore styling
}
}
在 UIButton 的扩展中使用方便的初始化复制样式:
extension UIButton {
convenience init(styleFromButton button: UIButton, frame: CGRect) {
self.init(frame: frame)
self.backgroundColor = button.backgroundColor
}
}
Interface Builder解决方案:
创建一个新的 Swift 文件:
在新文件中创建 UIButton
的子 class:
class StyledButton : UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
style()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
style()
}
private func style() {
self.backgroundColor = UIColor.blackColor()
// more styling
}
}
返回 Interface Builder 和 select 您想要设置样式的 UIButton
。
Select右边第三个面板,这是身份检查器。
Select 你的子 class 作为 class 为 UIButton
.
重复所有按钮的样式。
或者在 IB 中设置整个内容的样式,然后按住 Alt 并拖动以制作副本。
我正在使用 Xcode 制作一个 iOS 应用程序,其中我所有的按钮都应该具有相同的样式。这些按钮之间的唯一区别是它们的高度和宽度。有没有办法保存我设计的第一个样式,然后在不同的视图控制器中再次使用它,而无需复制?我在想,如果这可行的话,我会节省很多时间。
将相同的样式应用于 UIButton
的多个实例:
严格程序化路线:
前两种方法是我会做的。第三个只是为了说明可以编写一个 init
从另一个按钮复制设置。
应用子预设样式 class:
class StyledButton : UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
self.backgroundColor = UIColor.blackColor()
// more styling
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
对 UIButton 应用带有扩展名的预设样式:
extension UIButton {
func setCustomStyle1() {
self.backgroundColor = UIColor.blackColor()
// nore styling
}
}
在 UIButton 的扩展中使用方便的初始化复制样式:
extension UIButton {
convenience init(styleFromButton button: UIButton, frame: CGRect) {
self.init(frame: frame)
self.backgroundColor = button.backgroundColor
}
}
Interface Builder解决方案:
创建一个新的 Swift 文件:
在新文件中创建 UIButton
的子 class:
class StyledButton : UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
style()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
style()
}
private func style() {
self.backgroundColor = UIColor.blackColor()
// more styling
}
}
返回 Interface Builder 和 select 您想要设置样式的 UIButton
。
Select右边第三个面板,这是身份检查器。
Select 你的子 class 作为 class 为 UIButton
.
重复所有按钮的样式。
或者在 IB 中设置整个内容的样式,然后按住 Alt 并拖动以制作副本。