SwiftUI文本使用计时器样式被截断

4
在使用带有样式 .timerText 进行倒计时时,时间会在特定的时间截断。设置 framefixedSizelayoutPrioritypadding 都没有帮助。以下是代码:
struct ContentView: View {
    var body: some View {
        Text(Date(), style: .timer)
    }
}

将显示:O:00O:01O:02O:03O:...(被截断),O:05等。

enter image description here

有任何想法如何修复它吗?

有类似的问题,但它们没有帮助:

SwiftUI中VStack内的文本在不应该的情况下被截断

SwiftUI文本行为


我在自己的项目中遇到了这个问题,但没有找到合适的解决方案。即使您执行 Text(date, style: .timer).frame(minWidth: 200).background(Color.green),您仍然可以看到视图非常宽,但是随着计时器的计数,文本仍然被截断。合理地假设这是苹果测试版代码中的错误。我已经在反馈助手中提交了一个错误报告,并鼓励您也这样做。 - Jamie A
2个回答

0

这是在苹果代码中的一个漏洞,已经被修复。使用 Xcode 12 beta 6 构建/ 在 iOS 14 beta 6 上运行时,计时器将不会被截断。


仍未在发布版中修复。必须自己做出字体大小决定。 咩咩声 - Tob

0

适用于等宽字体样式。已在Xcode 12b3 / iOS 14上进行了测试。

Text(Date(), style: .timer)
   .font(Font.system(size: 16).monospacedDigit())

1
这将在十分钟后失败。 - Jamie A
很遗憾,即使在发布的操作系统中,@JamieA仍然是正确的 :-( - Tob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接