我知道这个问题被多次提出,但答案最多的是几年前。我希望Xcode 6.3
有一个最简单的解决方案。
我有UIViewController
我有2个按钮,必须加下划线。我还使用自定义解决方案来翻译资源(我的语言在App中设置 - 根据规范)。
我看到我可以在Xcode 6.3
中设置属性文本,但在这种情况下,按钮(资源)中的文本不会被翻译。
我尝试将NSMutableAttributedString
设置为文本,但setTitle
方法需要NSString并且我有错误。
我看到有自定义按钮类型的答案,但我认为这有点复杂(我只在UIViewController中有这两个按钮)。
还有其他解决方案吗?
答案 0 :(得分:1)
我尝试将NSMutableAttributedString设置为文本,但setTitle方法需要NSString,我有错误。
因为你正在调用错误的方法。您需要setAttributedTitle:forState:
方法,它可以解决该问题。
我看到我可以在Xcode 6.3中设置属性文本,但在这种情况下,按钮(资源)中的文本不会被翻译。
在代码中设置属性文本,方法是调用setAttributedTitle:forState:
,从代码中定义的字符串开始。定义该字符串时,请调用NSLocalizedString。在 Localizable.strings 文件中定义本地化字符串。现在文本已翻译。
(事实上在Xcode 6中,本地化比以往更容易,因为所有本地化的材料都可以作为统一的 .xliff 文件导出/导入。)