UIDatePicker 上的秒数 (.countDownTimer)

问题描述

如何向 UIDatePicker 添加秒列?

我目前正在显示

UIDatePicker

在 SwiftUI 中使用此 UIViewRepresentable

struct DurationPicker: UIViewRepresentable {
    @Binding var duration: TimeInterval

    func makeUIView(context: Context) -> UIDatePicker {
        let datePicker = UIDatePicker()
        datePicker.datePickerMode = .countDownTimer
        datePicker.addTarget(context.coordinator,action: #selector(Coordinator.updateDuration),for: .valueChanged)
        return datePicker
    }

    func updateUIView(_ datePicker: UIDatePicker,context: Context) {
        datePicker.countDownDuration = duration
    }

    func makeCoordinator() -> Coordinator {
        Coordinator(self)
    }

    class Coordinator: NSObject {
        let parent: DurationPicker

        init(_ parent: DurationPicker) {
            self.parent = parent
        }

        @objc func updateDuration(datePicker: UIDatePicker) {
            parent.duration = datePicker.countDownDuration
        }
    }
}

这是我的视图代码供参考

struct ContentView: View {
   
    @Binding var interval:TimeInterval
    
    init( interval: Binding<TimeInterval> = .constant(0) ) {
      _interval = interval
    }
    
    var body: some View {
        
        NavigationView {
            vstack {
                Text("Hello,world!")
                    .padding()

                DurationPicker(duration: $interval)
                
                NavigationLink(destination: DetailView()) {
                    Text("Show Detail View")
                }
            }
        }
    }
}

我不知道如何添加秒列,即使 iOS 上的官方时钟应用显示一个

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)