我在和一个设计师一起工作,我们有几个不同的字体参与到这个项目中-有时做所有的大写字母,有时小写字母。这适用于我的标签和按钮。这些可能会改变,所以我试图做的是有自定义的uilabel和uibutton类,其中的按钮标题将自动调整为我想要的大小写,而不考虑在界面生成器中输入的大小写或代码中的文本。我已使用自定义标签成功地管理了此操作,代码如下:
class MyHeadlineLabel : UILabel {
override func didMoveToWindow() {
self.text = self.text?.lowercased()
self.font = MyFonts.headlineFont
}
}
但是,向uiButton的didMoveToWindow()函数添加类似的代码不起作用:
class MyDarkTextButton: UIButton {
override func didMoveToWindow() {
self.titleLabel?.text = self.titleLabel?.text?.uppercased()
self.font = MyFonts.subHeadFont
}
}
我该怎么做呢?或者,更好的是,有没有办法使用我的自定义标签作为按钮标签?