我有一个使用Main.sotyboard用Xcode 10制作的应用程序,想将其迁移到使用Apple的新框架:SwiftUI。
那已经有可能吗?
我已经尝试在中添加UIApplicationSceneManifest键Info.plist,更改了AppDelegate.swift使用场景,创建了SceneDelegate.swift,即使这样我也无法
使用 UIKit,UIDatePicker 允许设置模式为 UIDatePicker.Mode.countDownTimer,我们可以设置持续时间。
使用 SwiftUI,我看不到任何解决此问题的本机方法。唯一的方法是与 UIKit 交互?
[更新]
仅找到解决方案
DurationPickerView.swift
import SwiftUI
import UIKit
struct DurationPickerView: UIViewRepresentable {
@Binding var time: Time
func makeCoordinator() -> DurationPickerView.Coordinator {
Coordinator(self)
}
func makeUIView(context: Context) -> UIDatePicker {
let datePicker = UIDatePicker()
datePicker.datePickerMode = .countDownTimer
datePicker.addTarget(context.coordinator, action: #selector(Coordinator.onDateChanged), for: .valueChanged)
return datePicker
}
func updateUIView(_ datePicker: UIDatePicker, context: Context) {
let date = Calendar.current.date(bySettingHour: time.hour, minute: time.minute, second: time.second, of: datePicker.date)!
datePicker.setDate(date, animated: true)
}
class Coordinator: NSObject {
var durationPicker: DurationPickerView …Run Code Online (Sandbox Code Playgroud)