Локализовать кнопку Swift - PullRequest
0 голосов
/ 08 марта 2020

Например, у меня есть приложение, которое имеет textLabel и кнопку, которые сначала устанавливаются как:

mainLabel.attributedText = "labelNewText".uppercased()   
mainButton.titleLabel?.attributedText = "buttonNewText".uppercased()

Затем я создал файл локализации, где я установил некоторые значения для Немецкий язык:

"labelNewText" = "Etikette";
"buttonNewText" = "Taste";

И переписал настройки для ярлыка и кнопки, например:

mainLabel.attributedText = "\(NSLocalizedString("labelNewText", comment: ""))".uppercased()
mainButton.titleLabel?.attributedText = "\(NSLocalizedString("buttonNewText", comment: ""))".uppercased()

Хотя, сразу после того, как я изменил настройку языка телефона на немецкий, перевод работает только для Метка, но не работает для кнопки. Что я делаю не так и как локализовать кнопку titleLabel?

1 Ответ

1 голос
/ 08 марта 2020

Вы должны использовать UIButton setAttributedTitle:forState: вместо того, чтобы пытаться манипулировать самой текстовой меткой. Так, например:

mainButton.setAttributedTitle(myAttributeString, forState: .normal)
...