Car*_*erg 20
使用参数启动应用程序-NSAllowsDefaultLineBreakStrategy NO(未记录的默认设置)似乎强制回到旧行为.或者,您可以在启动时设置NSAllowsDefaultLineBreakStrategy为NOin NSUserDefaults(Apple 会在初始化字符串绘图代码YES时注册该值的默认值UILabel,它会出现,因此您需要在此之后注册覆盖值,或将其插入到NSArgumentDomain,或者只是持久设置默认值).
Apple可能会考虑使用私有API并拒绝使用它的应用程序; 我不确定.我没有在运送应用程序中尝试这个.但是,它确实可以用于快速测试 - 看到设置NSUserDefaults并发现更改它改变了行为.
Kar*_*lis 12
从 iOS 14 开始,您可以使用实例lineBreakStrategy属性UILabel来控制此行为。
可用值为:
NSParagraphStyle.LineBreakStrategy() // none
NSParagraphStyle.LineBreakStrategy.pushOut
NSParagraphStyle.LineBreakStrategy.hangulWordPriority
NSParagraphStyle.LineBreakStrategy.standard
Run Code Online (Sandbox Code Playgroud)
要使用 Swift禁用此行为:
if #available(iOS 14.0, *) {
label.lineBreakStrategy = []
}
// Alternatives
// label.lineBreakStrategy = NSParagraphStyle.LineBreakStrategy()
// label.lineBreakStrategy = .init(rawValue: 0)
// label.lineBreakStrategy = .init()
Run Code Online (Sandbox Code Playgroud)
目标-C:
if (@available(iOS 14.0, *)) {
label.lineBreakStrategy = NSLineBreakStrategyNone;
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*ham 10
这不是一个真正的答案,但我想补充说明这是一个普遍的问题,而不是与&符号有关.
这两个UILabel都具有相同的宽度约束,并且文本几乎相同.但是第二个包含了我期望的词汇.第一个是不正确的,"约"可以清楚地保留在第一行.
| 归档时间: |
|
| 查看次数: |
6313 次 |
| 最近记录: |