【问题标题】:SwiftUI list does not scroll using 2-finger swipe on trackpadSwiftUI 列表不会在触控板上使用两指滑动来滚动
【发布时间】:2021-07-23 17:19:45
【问题描述】:

我一直在测试这个简单的 SwiftUI 代码:它在 ContentView 中有一个列表。当点击列表的一个单元格时,它会将SecondList 推送到导航堆栈中。当这个 SwiftUI 代码在带有触控板的真实 iPad 上运行时,我使用两指滑动来上下滚动列表。 ContentView 中的列表滚动流畅。但是,对于SecondList,它可能会随机冻结,然后没有响应。

它在 UIKit 项目中也失败了,我使用 UIHostingViewControllerUINavigationView 替换为 ContentView

它在模拟器和带有妙控键盘的 iPad Pro 硬件上使用 iPadOS 14.5 进行测试。

我该如何解决这个问题?谢谢。

import SwiftUI

struct ContentView: View {
    var body: some View {
        NavigationView {
            List {
                ForEach(0..<30, id: \.self) { index in
                    NavigationLink(
                        destination: SecondList(),
                        label: {
                            Text(String(index))
                        })
                }
            }
        }.navigationViewStyle(StackNavigationViewStyle())
    }
}

struct SecondList: View {
    var body: some View {
        List {
            ForEach(0..<30, id: \.self) { index in
                Text(String(index))
            }
        }
    }
}


struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

【问题讨论】:

    标签: swiftui ipados trackpad


    【解决方案1】:

    使用滚动视图

    import SwiftUI
    
    struct ContentView: View {
        var body: some View {
            NavigationView {
                List {
                    ForEach(0..<30, id: \.self) { index in
                        NavigationLink(
                            destination: SecondList(),
                            label: {
                                Text(String(index))
                            })
                    }
                }
            }.navigationViewStyle(StackNavigationViewStyle())
        }
    }
    
    struct SecondList: View {
        var body: some View {
            scrollView {
                List {
                    ForEach(0..<30, id: \.self) { index in
                        Text(String(index))
                    }
                }
            }
        }
    }
    

    【讨论】:

    • 恐怕你的代码不起作用。并且......在这种情况下滚动视图将如何提供帮助?谢谢你的建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    相关资源
    最近更新 更多