小编use*_*201的帖子

iOS15 - SwiftUI WheelPicker 可滚动外框和剪切区域破坏其他界面

我在 HStack 中包含两个 WheelPicker,分别表示“小时”和“分钟”。每个选取器都设置在一个框架内(宽度:50,高度:30)并另外进行裁剪。

在 iOS14 中,它的行为符合预期,我可以滚动“小时”选择器来更改小时,滚动“分钟”选择器来更改分钟。

然而,在 iOS15 中,“分钟”轮选择器超出了 50 的框架宽度,并重叠到“小时”选择器中;如果我在“小时”选择器上滚动,“分钟”值会发生变化(而不是“小时”值),如果我在“分钟”选择器上滚动,它会按预期更改“分钟”。如果我触摸“小时”选择器外部的最左侧,则“小时”值会发生变化。

有人有同样的问题以及该问题的解决方法吗?

我遇到了添加“mask(rectangle()”的解决方法并尝试了它,但它在 iOS15 上不起作用。


    @State private var hour: Int = 0
    @State private var minute: Int = 0
    
    
    var body: some View {
        
        VStack {
            
            HStack (alignment: .center, spacing: 3) {
                
                NumberPicker("", selection: $hour
                                 , startValue: 0
                                 , endValue: 23
                                 , pickerSize: CGSize(width: 50, height: 30)
                )

                Text("hr")
                
                NumberPicker("", selection: $minute
                                 , startValue: 0
                                 , endValue: 59
                                 , pickerSize: CGSize(width: 50, height: 30)
                )

                Text("min")

            } …
Run Code Online (Sandbox Code Playgroud)

swiftui ios15

13
推荐指数
2
解决办法
2657
查看次数

标签 统计

ios15 ×1

swiftui ×1