小编Car*_*man的帖子

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

在 iPhone 8 上选择时间时,日期选择器崩溃。TimeZone 是在选择器中更改的@State 变量。用户可以选择日期。但是当用户选择时间时,日期选择器会崩溃,因此无法设置时间。我已经在 iPhone X 和 iPhone 12 pro Max 上对此进行了测试,效果很好。

然而 Xcode 总是打印出这些警告:

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

iPhone 8 模拟器也能正常工作。TestFlight 的用户显示无法在 iPhone 8 上选择时间的反馈和视频。

这些警告是日期选择器崩溃的结果吗?如果是这样,如何抑制这些警告?设置时区时我是否正确使用了 .environment 修饰符?

下面是两个日期选择器,它们都有相同的问题。

我尝试过但不起作用的事情:

  • 将视图提取为子视图

  • 删除 .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: …
    Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

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

SwiftUI iOS 16 MapKit 地球仪

如何将地图配置为缩小直到显示地球仪(快速)?我知道您可以将mapType 设置为hybridFlyover 或satelliteFlyover,但是当完全缩小时,此解决方案看起来不像苹果的地图。

在此输入图像描述

mapkit swift swiftui

5
推荐指数
1
解决办法
447
查看次数

标签 统计

swift ×2

swiftui ×2

ios ×1

mapkit ×1