Ren*_*fer 10 uilabel soft-hyphen ios swift ios15
在 iOS 15 中,设置文本时不考虑软连字符 ( \u{00AD}UILabel
) 。例如:以下代码在 iOS 13 和 14 中正确渲染带有软连字符的文本,但在 iOS 15 中则不然。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
label.text = "Very\u{00AD}VeryVeryVeryVeryVeryLongWordWithASoftHyphenTo"
}
}
Run Code Online (Sandbox Code Playgroud)
如何让 UILabel 考虑iOS 15 中的软连字符 ( \u{00AD} )?
小智 1
得到苹果公司对此的回应:
在 iOS 15 之前,我们严格遵循软连字符,而在 iOS 15 中我们现在只将它们视为连字符机会。
这就是设计,没有计划改变它。应用程序应该能够使用 languageIdentifier 属性来影响属性字符串的连字符,以便即使系统语言是英语,它也应该遵循德语连字符。
所以基本上现在我们应该使用 languageIdentifier 属性,我们自己的自定义连字符规则的机会较少(例如删除丑陋,一侧短,连字符中断),但语法正确。
软连字符仍然有效,但只是作为补充。
归档时间: |
|
查看次数: |
1596 次 |
最近记录: |