【问题标题】:SwiftUI DatePicker in Form Dismisses When Keyboard Appears当键盘出现时,表单中的 SwiftUI DatePicker 会消失
【发布时间】:2020-09-15 14:15:12
【问题描述】:

我有一个 SwiftUI Form 和一个 Section,其中包含一个 DatePicker。默认情况下,DatePicker 设置为具有CompactDatePickerStyle()datePickerStyle,因为它位于Form 中。

点击DatePicker 时,会显示叠加层:

DatePicker 的时间可以通过手势进行修改,如以下视频所示:

在下面的视频中,通过键盘点击覆盖DatePicker 的时间来修改它会导致覆盖被关闭:

我还尝试将以下内容添加到 DatePicker 以允许内联日期操作,希望避免使用键盘:

.datePickerStyle(GraphicalDatePickerStyle())
.ignoresSafeArea(.keyboard, edges: .bottom)

但是,以上结果如下:

我需要更改什么以允许通过表单中的手势和键盘输入来操作DatePicker

【问题讨论】:

  • 你能提供一些代码吗?
  • 我现在也遇到了同样的问题!在Form 之外完美运行,但.hourAndMinute 的键盘会立即关闭。我还没有找到解决方案,你呢?
  • 我也有同样的问题。一定是 SwiftUI 的 bug,还是?有解决办法吗?
  • 你能解决这个问题吗?我也看到了这个问题。

标签: swiftui swiftui-form swiftui-datepicker


【解决方案1】:

您需要提高日期选择器,这样键盘就不会显示在日期选择器上,已在 2020 年 10 月报告了此错误并且票证仍处于打开状态。这些日期选择器没有键盘回避功能。还发现 GraphicalDatePickerStyle 可能导致应用崩溃的问题,工单仍然打开。

【讨论】:

  • 解决了吗?我可以得到苹果虫的链接吗@watermamal
  • 不知道如何链接,因为这是通过反馈助手完成的报告,但我截图了imgur。我不确定它是否已解决或最近没有测试过它,但它仍然开放。 @tp2376
【解决方案2】:

您是否尝试在整个表单上使用 .ignoresSafeArea(.keyboard)?我遇到了同样的问题,这为我解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多