Swift 迅捷&x2014;如何在滚动视图中显示倒计时?
我正在尝试为Apple Watch制作一个SwiftUI应用程序,它需要在ScrollView中设置一个倒计时计时器。然而,当我在ScrollView中放置日期格式化程序时,应用程序崩溃(至少在模拟器中——我无法在真实设备上测试,因为我已经达到了应用程序ID限制几天了) 代码如下所示:Swift 迅捷&x2014;如何在滚动视图中显示倒计时?,swift,swiftui,apple-watch,watchos,watchos-6,Swift,Swiftui,Apple Watch,Watchos,Watchos 6,我正在尝试为Apple Watch制作一个SwiftUI应用程序,它需要在ScrollView中设置一个倒计时计时器。然而,当我在ScrollView中放置日期格式化程序时,应用程序崩溃(至少在模拟器中——我无法在真实设备上测试,因为我已经达到了应用程序ID限制几天了) 代码如下所示: struct ContentView:View{ 让日期=日期() var body:一些观点{ 滚动视图{ 文本(日期、样式:。计时器) } } } 它给了我这个运行时错误:EXC\u BAD\u指令(cod
struct ContentView:View{
让日期=日期()
var body:一些观点{
滚动视图{
文本(日期、样式:。计时器)
}
}
}
它给了我这个运行时错误:EXC\u BAD\u指令(code=EXC\u I386\u INVOP,subcode=0x0)
在一个名为
SwiftUI.DisplayList.ViewUpdater.ViewCache.setNextUpdate(uu:item:state:tag:)
的函数中,这似乎是一个bug,值得报告
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()
}
}
struct ContentView: View {
var body: some View {
ScrollView {
Text(Date(), style: .timer)
.clipped()
}
}
}