小编Ail*_*lho的帖子

是否可以迁移旧的Xcode项目以使用SwiftUI?

我有一个使用Main.sotyboard用Xcode 10制作的应用程序,想将其迁移到使用Apple的新框架:SwiftUI。
那已经有可能吗?

我已经尝试在中添加UIApplicationSceneManifestInfo.plist,更改了AppDelegate.swift使用场景,创建了SceneDelegate.swift,即使这样我也无法

xcode ios swift swiftui

10
推荐指数
2
解决办法
3134
查看次数

如何在 SwiftUI 的 DatePicker 中设置 countDownTimer 模式?

使用 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)

uidatepicker swift swiftui

9
推荐指数
1
解决办法
1609
查看次数

标签 统计

swift ×2

swiftui ×2

ios ×1

uidatepicker ×1

xcode ×1