我最近研究了我正在开发的应用程序中的连字符问题,并构建了以下简单示例:
HStack {
Text("Gewerberechtsschutzversicherung")
.font(.body)
.background(.red)
Text("Gewerberechtsschutzversicherung")
.font(.system(size: 17))
.background(.blue)
}
事实证明,设置任何类型的自定义字体大小而不是使用 Apple 的预定义枚举(
.body
、.callout
等)将禁用 SwiftUI 中单词的自动连字符。
在这种情况下有什么办法可以启用自动连字符吗?由于该应用程序使用从中检索字体的样式指南,因此此处不能选择使用 Apple 预定义大小,这会禁用整个应用程序的连字符。 软连字符仍然有效,但当然必须手动添加到每个字符串中。
事实证明,在字符串中的任何位置添加软连字符也可以重新启用自动连字符。因此这将在两个字符串上使用自动连字符:
HStack {
Text("Gewerberechtsschutzversicherung")
.font(.body)
.background(.red)
Text("\u{00AD}Gewerberechtsschutzversicherung")
.font(.system(size: 17))
.background(.blue)
}