设置为抵抗时,SwiftUI 文本被截断?
Posted
技术标签:
【中文标题】设置为抵抗时,SwiftUI 文本被截断?【英文标题】:SwiftUI Text being truncated when set to resist? 【发布时间】:2020-06-25 14:33:58 【问题描述】:我有以下组件:
Text(booking.endDate!, style: .relative)
.font(.system(.title, design: .rounded))
.foregroundColor(Color(.jpGreen))
.fixedSize(horizontal: true, vertical: false)
这是对格式为小时和分钟的日期的倒计时,但是在界面中它会以不规则的间隔随机截断,例如
如果我已经应用了固定大小的属性,我该如何进一步使它永远不会被截断?
【问题讨论】:
这能回答你的问题吗? How to scale text to fit parent view with SwiftUI? 无法在 Xcode 12 中重现,只有 ContentView 中的代码快照。您能提供更多背景信息吗? 它在一个 VStack 中,在一个 HStack 中有 2 个 VStack,如果有帮助,我是 swiftui 的新手,所以不确定需要什么信息 【参考方案1】:您可以通过添加来避免这种情况
.allowsTightening(true)
发给你的短信。
根据空间大小,应用它甚至可能无法完全发挥作用 可以收紧。
来源:Mark Moeykens's book
编辑:您还可以允许 SwiftUI 缩放文本以适应可用空间。
例如,尝试使用minimumScaleFactor,它需要一个介于 0 和 1 之间的值。
【讨论】:
我在答案中添加了另一个选项【参考方案2】:像这样简单地在末尾添加 .padding(.horizontal) 怎么样。
Text("...").padding(.horizontal)
【讨论】:
以上是关于设置为抵抗时,SwiftUI 文本被截断?的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI - 嵌入 ScrollView 后文本被截断