SwiftUI 多轮选择器触摸边界偏移和崩溃 iOS 15

Sim*_*yJT 5 ios swift swiftui

我的生产应用程序在 iOS 15 上崩溃的问题。当我在 Xcode 中通过调试或发布运行它时,它不会崩溃。我以某种方式设法将其范围缩小到我的多轮选择器代码,它们并排显示。

与 iOS 15 上一个列表中多个滚轮选择器的 SwiftUI 问题类似的问题

对于崩溃,我在其他地方找到了将表单更改为列表并添加 .id(UUID()) 的建议

List {
   ...
}.id(UUID())
Run Code Online (Sandbox Code Playgroud)

这似乎阻止了崩溃,但如果您运行代码,您会发现触摸区域的边界在轮子上关闭,这意味着您根本无法滚动第一个轮子,并且将其他可以触摸的轮子滚动到下一个轮子移动它。我尝试删除剪裁和调整框架,但触摸区域似乎偏移。

任何建议都会有帮助,我还将向苹果提交反馈,并将使用反馈号码进行编辑

请参阅偏移问题的视频 单击此处

用于重现问题的精简代码

import SwiftUI

struct ContentView: View {
    @State var interval:TimeInterval = 0
    @State var selectedHour = 0
    @State var selectedMin = 0
    @State var selectedSecond = 0
    
    var body: some View {
        //List {
        Form {
            Section (header: Text("Interval")) {
                HStack (spacing: 0)  {
                    Picker(selection: self.$selectedHour, label: Text("Hour")) {
                        ForEach(0..<25) { hour in
                            Text("\(hour) h")
                        }
                    }
                    .pickerStyle(WheelPickerStyle())
                    .frame(minWidth: 100, maxWidth: .infinity)
                    .clipped()
                    
                    Picker(selection: self.$selectedMin, label: Text("Min")) {
                        ForEach(0..<60) { min in
                            Text("\(min) m")
                        }
                    }
                    .pickerStyle(WheelPickerStyle())
                    .frame(minWidth: 100, maxWidth: .infinity)
                    .clipped()
                    
                    Picker(selection: self.$selectedSecond, label: Text("Sec")) {
                        ForEach(0..<60) { sec in
                            Text("\(sec) s")
                        }
                    }
                    .pickerStyle(WheelPickerStyle())
                    .frame(minWidth: 100, maxWidth: .infinity)
                    .clipped()
                }
                .mask(Rectangle())
            }
        }//.id(UUID())
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:苹果反馈#FB9648846