如何设置UIButton的下划线文本(在Xcode 6.3中有自定义本地化)?

时间:2015-04-30 13:43:51

标签: objective-c xcode uibutton

我知道这个问题被多次提出,但答案最多的是几年前。我希望Xcode 6.3有一个最简单的解决方案。

我有UIViewController我有2个按钮,必须加下划线。我还使用自定义解决方案来翻译资源(我的语言在App中设置 - 根据规范)。

我看到我可以在Xcode 6.3中设置属性文本,但在这种情况下,按钮(资源)中的文本不会被翻译。

我尝试将NSMutableAttributedString设置为文本,但setTitle方法需要NSString并且我有错误。

我看到有自定义按钮类型的答案,但我认为这有点复杂(我只在UIViewController中有这两个按钮)。

还有其他解决方案吗?

1 个答案:

答案 0 :(得分:1)

  

我尝试将NSMutableAttributedString设置为文本,但setTitle方法需要NSString,我有错误。

因为你正在调用错误的方法。您需要setAttributedTitle:forState:方法,它可以解决该问题。

  

我看到我可以在Xcode 6.3中设置属性文本,但在这种情况下,按钮(资源)中的文本不会被翻译。

在代码中设置属性文本,方法是调用setAttributedTitle:forState:,从代码中定义的字符串开始。定义该字符串时,请调用NSLocalizedString。在 Localizable.strings 文件中定义本地化字符串。现在文本翻译。

(事实上在Xcode 6中,本地化比以往更容易,因为所有本地化的材料都可以作为统一的 .xliff 文件导出/导入。)