我很困惑为什么在使用Storyboard/Xib字符串本地化方法时,使用属性字符串的UILabels没有被翻译。我知道我可以在运行时使用代码来设置它,但我想使用默认机制,就像所有其他不使用属性字符串的控件一样。
我发现了与我完全相同的问题,比如:1,2,3,4
但在这些问题和答案中,我没有看到苹果的官方声明/文档链接,为什么这不应该起作用(为什么不应该?(。
所以,我想问为什么不支持带有Storyboard本地化属性字符串的UILabel?
如果没有任何提示,我仍然想知道:
如何从情节提要中本地化具有属性字符串的UILabel?
更新
我还在苹果开发者论坛上创建了一个问题,希望得到官方的答案。
苹果在开发者论坛上以回应
Storyboard/XIB当前不支持此功能。我鼓励您在反馈助手上提出请求。
并最终使用了这种方法,请参阅下文。我仍然希望苹果能说明这背后的原因。
- (void)localizeAttributedLabel:(UILabel*)label withText:(NSString*)text
{
NSMutableAttributedString* attributedString = [[NSMutableAttributedString alloc] initWithAttributedString:label.attributedText];
[attributedString.mutableString setString:text];
label.attributedText = attributedString;
}
[self localizeAttributedLabel:myLabel withText:NSLocalizedString(@"MyLabelTextKey", nil)];