gpt4 book ai didi

ios - SwiftUI iOS 14 日期选择器奇怪的行为

转载 作者:行者123 更新时间:2023-12-05 00:23:12 28 4
gpt4 key购买 nike

在 iPhone 8 上选择时间时,日期选择器崩溃。 TimeZone 是在选择器中更改的@State 变量。用户能够选择一个日期。但是当用户选择时间时,日期选择器会崩溃,因此无法设置时间。我已经在 iPhone X 和 iPhone 12 pro Max 上对此进行了测试,效果很好。
然而 Xcode 总是打印出这些警告:

  • [DatePicker] UIDatePicker 0x10a42b190 正在其下方布局
    最小宽度为 280。这可能不像预期的那样,尤其是
    大于正常字体大小。
  • 找不到支持键盘类型 4 的键盘
    iPhone-PortraitTruffle-NumberPad;使用
    25901_PortraitTruffle_iPhone-Simple-Pad_Default

  • iPhone 8 模拟器也可以。来自 TestFlight 的用户显示反馈和视频无法在 iPhone 8 上被选中。
    这些警告是日期选择器崩溃的结果吗?如果是这样,如何抑制这些警告?设置时区时我是否正确使用了 .environment 修饰符?
    下面是两个日期选择器,它们都有相同的问题。
    我试过的东西不起作用:
  • 将 View 提取为 subview
  • 删除 .environment 修饰符
  • 删除 .id 修饰符
  • 移除动画修改器
  • 删除显示组件参数
         Section(footer: Text("Event is being set in \(selectedLocation(locationIndex: site).timeOffSet)")){

    Toggle(isOn: $isAllDay){
    Text("All-day")
    }

    VStack{
    DatePicker(selection: $date, displayedComponents: self.isAllDay ? .date : [.hourAndMinute, .date], label: {
    Text("Date")
    }).environment(\.timeZone, (TimeZone(identifier: timeZone) ?? TimeZone(identifier: "America/New_York")!))
    }.animation(nil)
    .id(self.datePickerID)

    VStack{
    DatePicker(selection: $date, displayedComponents: self.isAllDay ? .date : [.hourAndMinute, .date], label: {
    Text("Date")
    })
    .disableAutocorrection(false)
    .id(2)
    .environment(\.timeZone, (TimeZone(identifier: timeZone) ?? TimeZone(identifier: "America/New_York")!))
    .animation(nil)

    }
    }
  • 最佳答案

    尝试添加 .datePickerStyle(CompactDatePickerStyle())压缩它,然后在单击时弹出它

    关于ios - SwiftUI iOS 14 日期选择器奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64867692/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com