iOS本地化在Xcode中不适用于Objective-C中的自定义标签[关闭]
Posted
技术标签:
【中文标题】iOS本地化在Xcode中不适用于Objective-C中的自定义标签[关闭]【英文标题】:iOS localization does not work in Xcode for custom labels in objective-C [closed] 【发布时间】:2013-12-27 19:52:41 【问题描述】:我实现了一个继承自 UILabel 的自定义视图
@interface SPLabel : UILabel
因为我想在我的应用程序中使用特定字体设置所有标签,因此我对这个新类所做的唯一事情就是在构造函数和 awakeFromNib 方法中设置我喜欢的字体.
然后,我在代码和情节提要中将这个 SPLabel 用作普通 UILabel(在情节提要中,我从检查器中修改 UILabel 对象的自定义类,或者我手动修改带有属性 customClass= 的标签“SMFLabel”)。
就我决定本地化应用程序并翻译它而言,一切正常。
故事板本地化过程运行良好,因为它为我创建了带有标签文本的所有字符串文件,并且它实际上在所有情况下都应用了翻译,但在 SPLabel 上。
是我遗漏了什么还是只是 Xcode 和 ios 无法处理?
我确定问题出在标签自定义上,因为只要我将自定义类删除到情节提要中的一个标签,翻译就会起作用。
感谢您的帮助
【问题讨论】:
使用外观代理设置所有标签的字体。如需进一步帮助,您必须向我们提供所有相关代码。 如果您还没有,您可能想在“AskDifferent”讨论中提出这个问题。 @Eric,这是一个编程问题。 *** 是正确的地方。 显示代码。你如何设置/创建标签? 【参考方案1】:为了本地化您的自定义标签标题,您可以使用localizable.strings
文件,并通过代码设置其标题
NSString *NSLocalizedString(NSString *key, NSString *comment)
故事板本地化似乎不适用于某些元素,例如自定义标签或属性字符串。不知道是不是bug。
【讨论】:
感谢您的回答。这是您已经意识到的一些行为吗?不幸的是,我想我会按照您的建议动态设置情节提要中所有 UILabel 中的文本。但这真的需要我很长时间。 是的,我在今年早些时候遇到了这类问题,特别是属性字符串。但是 se 有许多其他示例,例如***.com/questions/15075165/… 关于 UISegmentedControl 和 UISearchBar。看来,至少目前,Apple 希望您以某种方式本地化某些组件,而通过 IB 的本地化(与 XCode 5 相比早期版本的改进)还不适用于所有内容。 好的,看来唯一的解决方案是使用动态本地化字符串。谢谢。 任何人请提供上面的swift代码:(以上是关于iOS本地化在Xcode中不适用于Objective-C中的自定义标签[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
UITextView - 在 XCode 5 上设置字体不适用于 iOS 6
UITextView - 在 XCode 5 上设置字体不适用于 iOS 6