我有一个TableViewController
,其中包含TableView
和标准TableViewCell
。
如果我将TableViewCell
配置为样式Basic
,我可以使用故事板本地化文件(* .strings)来翻译基本单元格的标签。这很有效。
storyboard.strings :
"xAt-2c-UqjT.text" = "My Translated Text";
但是,如果我使用Custom Class
作为标签,则不再考虑此标签的本地化文件,并且不会应用翻译。
自定义类扩展UILabel
,如下所示:
import Foundation
import UIKit
class CustomLabel : UILabel {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setStyle()
}
override init(frame: CGRect) {
super.init(frame: frame)
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
setStyle()
}
func setStyle() {
self.font = FontConstants.NORMAL
self.textColor = ColorConstants.TEXT_NORMAL
}
}
为什么自定义标签的翻译不再有效,即使标签扩展为UILabel
?
更新:也许值得注意的是CustomLabel
将在TableViewCell
内的所有其他用法中正确翻译。
答案 0 :(得分:0)
您需要在super
上致电prepareForInterfaceBuilder
:
super.prepareForInterfaceBuilder()
答案 1 :(得分:0)
改为将TableViewCell配置为样式Custom