SwiftUI-如何在ScrollView中显示倒计时



我正在尝试为Apple Watch制作一个SwiftUI应用程序,该应用程序需要在ScrollView中设置倒计时计时器。然而,当我在ScrollView中放入日期格式化程序时,应用程序会崩溃(至少在模拟器中是这样——我无法在真正的设备上进行测试,因为我已经达到了应用程序ID限制几天了(。

代码如下:

struct ContentView: View {
let date = Date()

var body: some View {
ScrollView {
Text(date, style: .timer)
}
}
}

它给了我一个运行时错误:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

在一个称为SwiftUI.DisplayList.ViewUpdater.ViewCache.setNextUpdate(_:item:state:tag:)的函数内

这似乎是一个错误,值得报告。

DateFormatter()似乎是一个可行的解决方法。

import SwiftUI
struct TimerStyle: View {
let date = Date()

let timerFormat: DateFormatter

init() {
timerFormat = DateFormatter()
timerFormat.dateFormat = "HH:mm:ss"

}
var body: some View {
ScrollView {
Text(date, formatter: timerFormat)
}
}
}
struct TimerStyle_Previews: PreviewProvider {
static var previews: some View {
TimerStyle()
}
}

这就是答案!!!只需添加

.clipped((

struct ContentView: View {
var body: some View {
ScrollView {
Text(Date(), style: .timer)
.clipped()
}
}
}
struct ContentView: View {
var body: some View {
ScrollView {
Text(Date(), style: .timer)
.clipped()
}
}
}

相关内容

  • 没有找到相关文章

最新更新