iOS WidgetKit 小部件中的右对齐 Text(Date(), style: .timer) 文本

Bag*_*lan 10 widgetkit swiftui

这是一个有趣的困境:我想制作一个可靠地“滴答”的计时器,但同时也在可预测的位置渲染符号,以便我可以通过添加背景来装饰计时器。由于 WidgetKit 的限制,我无法可靠地每秒渲染自己的文本,并且必须依赖特殊视图,例如Text(Date(), style: .timer)。但是,此视图可以根据剩余时间将时间呈现为XX:XXX:XX ,这没问题,但它也占用容器的整个宽度并左对齐,这使得最后一个:XX根据剩余时间移动。

\n

这是一个例子:

\n

在此输入图像描述

\n

以及生成它的代码:

\n
struct MyWidgetEntryView : View {    \n    var body: some View {\n        VStack {\n            Text(Date().addingTimeInterval(1000), style: .timer)\n                .font(.body.monospacedDigit())\n                .background(Color.red)\n            \n            Text(Date().addingTimeInterval(100), style: .timer)\n                .background(Color.green)\n                .font(.body.monospacedDigit())\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

问题:有没有一种方法可以在 WidgetKit 小部件中可靠地更新时间显示,使分钟和秒的符号始终呈现在相同的位置,并且不会根据剩余时间而移动?

\n

我无法弄清楚,请帮助我!

\n

\xe2\x80\x93巴格兰

\n

Ada*_*dam 14

设置多行文本对齐方式:

\n
Text(Date(), style: .timer)\n    .multilineTextAlignment(.trailing)\n
Run Code Online (Sandbox Code Playgroud)\n

它\xe2\x80\x99 不是多行文本,但它可以工作!

\n