我正在尝试对所有UIButton子类进行扩展,这些子类允许我在Xcode UIBuilder中键入一个键,并让它在实际构建时自动将该键更改为适当的语言。
运行应用程序时效果很好但是我在构建器中输入的关键字未在UI中本地化。
我尝试使用#if builder语句和prepareForInterfaceBuilder()。 这是我到目前为止所得到的:
extension UIButton {
@IBInspectable var localizedText: String {
set (key) {
self.setTitle(key.localized, for: .normal)
}
get {
return (self.titleLabel?.text)!
}
}
}
和
class Button: UIButton {
.
.
.
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
self.titleLabel?.text = localizedText
}
}
任何帮助将不胜感激!
答案 0 :(得分:0)
使用此扩展程序......
extension UIButton {
@IBInspectable var localizedTitle: String {
get { return "" }
set {
self.setTitle(newValue.localized, for: .normal)
}
}
}
extension String {
var localized: String {
get { return NSLocalizedString(self, comment: "") }
}
}