gpt4 book ai didi

macos - 如何在 SwiftUI 中为文本预留空间

转载 作者:行者123 更新时间:2023-12-02 19:08:24 25 4
gpt4 key购买 nike

我有一个工作表,显示上传文件的进度。它看起来像这样:

如您所见,更改的行(“3.4 MB of 13.9...”)被截断。这是因为它一开始只有一个宽度,但随后可以以字符串中不同的数字增长。

我尝试了以下方法,作为为尽可能大的字符串保留空间的技巧。它可以工作,但并不理想,因为白色矩形在深色模式下不起作用。

VStack(spacing: 0) {
Text("Uploading").bold()
Spacer().frame(height: 3)
Text("\(currentFilename)")
Text("\(completedFiles) of \(totalFiles) files")
ZStack {
Text("12345 KB of 12345 KB") // Biggest possible string
Rectangle().fill(Color.white) // But how to hide it ?
Text("\(bytes) of \(totalBytes)")
}
ProgressView(value: fraction)
Button("Cancel") { ... }
}.padding()

我没有看到 Color.systemBackgroundColor 或类似的东西可以替代 Color.white

有人知道这样的好技巧来预留文本空间吗?是用我的 ZStack 想法还是其他什么?

最佳答案

如果它可以帮助您使用Color.clear

ZStack {
Text("12345 KB of 12345 KB") // Biggest possible string
.foregroundColor(Color.clear) // << here !!
Text("\(bytes) of \(totBytes)")
}

关于macos - 如何在 SwiftUI 中为文本预留空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64718107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com