【发布时间】:2018-11-24 22:00:28
【问题描述】:
我正在与一位设计师合作,我们在项目中涉及到几种不同的字体 - 有时全部大写,有时全部小写。这适用于我的标签和按钮。这些可能会改变,所以我尝试做的是自定义 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
}
}
我该怎么做呢?或者,更好的是,有没有办法将我的自定义标签用作按钮标签?
【问题讨论】:
-
可以使用UIView方法
willMove(toSuperview:)developer.apple.com/documentation/uikit/uiview/…
标签: ios swift uibutton uilabel uppercase