我在NSAttributedStrings
使用.NSParagraphStyle
UISemanticContentAttributeForceRightToLeft
我有一个 UI 上只有 2 个标签的演示应用程序。
它们有前导和尾随约束。
我正在 AppDelegate 中从右到左制作应用程序
UIView.appearance().semanticContentAttribute = .forceRightToLeft
我只是用以下代码配置标签
let labelAText = "Foo"
let mutAttrString = NSMutableAttributedString(string: labelAText)
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .natural
paragraphStyle.baseWritingDirection = .natural
mutAttrString.setAttributes([NSAttributedStringKey.paragraphStyle: paragraphStyle.copy()], range: NSMakeRange(0, labelAText.count))
labelA.attributedText = mutAttrString
labelB.text = "Bar"
结果是:
[
labelB (Bar)
正在按预期工作,但不是labelA (Foo)
。如果我只是删除NSParagraphStyle
它开始工作。请注意,我什至没有改变它的任何东西,但只是通过使用它就会弄乱对齐方式。
关于可能导致这种情况的任何想法?