如何在 SwiftUI 中使用 DatePicker 创建提醒

Aka*_*ary 5 ios swiftui

我想DatePicker在警报视图或操作表视图中显示,但我找不到任何资源来执行此操作。

我想要以下视图。

谢谢您的帮助

在此输入图像描述

paw*_*222 2

你想要的实际上是苹果不鼓励的(根据这个答案)。这可能就是您自己找不到任何示例的原因。

这是一个可能的解决方案:

struct ContentView: View {
    @State var selectedDate = Date()

    static let formatter: DateFormatter = {
        let formatter = DateFormatter()
        formatter.setLocalizedDateFormatFromTemplate("yyMMddhhmm")
        return formatter
    }()

    var body: some View {
        VStack {
            Text("Selected date: \(selectedDate, formatter: Self.formatter)")
            Button("Show action sheet") {
                self.showDatePickerAlert()
            }
        }
    }

    func showDatePickerAlert() {
        let alertVC = UIAlertController(title: "\n\n\n\n\n\n\n\n\n", message: nil, preferredStyle: .actionSheet)
        let datePicker: UIDatePicker = UIDatePicker()
        alertVC.view.addSubview(datePicker)

        let okAction = UIAlertAction(title: "OK", style: .default) { _ in
            self.selectedDate = datePicker.date
        }
        alertVC.addAction(okAction)
        let cancelAction = UIAlertAction(title: "Cancel", style: .cancel)
        alertVC.addAction(cancelAction)

        if let viewController = UIApplication.shared.windows.first?.rootViewController {
            viewController.present(alertVC, animated: true, completion: nil)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这使用了这个答案"\n\n\n\n\n\n\n\n\n"中的技巧。