对于这个非常具体的问题,我找不到任何提示:如何设置在 UILabel 上执行连字符的语法规则?
你看,我的应用程序已本地化为英语和德语,并包含德国街道名称(显然不会翻译成英语)。当设备的语言设置为德语时,断字可以正常工作。
但是在语言设置为英语的设备上,连字符似乎与德国街道名称斗争(意思是:连字符正在发生,但语法错误)。我认为这是因为它源自 iOS 首选项中设置的语言。
这是我在该标签上执行连字符的方式:
func updateStreetNameLabel(streetName: String) {
let paragraphStyle: NSMutableParagraphStyle = NSMutableParagraphStyle()
paragraphStyle.hyphenationFactor = 1.0
paragraphStyle.alignment = .Center
let streetNameWithHyphens: NSMutableAttributedString = NSMutableAttributedString(string: streetName, attributes: [NSParagraphStyleAttributeName : paragraphStyle])
streetNameLabel.attributedText = streetNameWithHyphens
}
我会认为有一个特定的属性可以做到这一点,但我无法找到如何去做。感谢您对这个小而棘手的问题的任何帮助!S。