有没有办法在SwiftUI列表中隐藏滚动指示器? [英] Is there a way to hide scroll indicators in a SwiftUI List?

查看:17
本文介绍了有没有办法在SwiftUI列表中隐藏滚动指示器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要创建SwiftUI列表,但不显示滚动指示器。ScrollView提供了showsIndicator来实现这一点。怎么做呢?

推荐答案

任何指示器(列表、滚动视图等)

您可以不显示所有List的指示符,但是使用UITableView的API。因为SwiftUIList在幕后使用UITableViewfor iOS:

struct ContentView: View {
    
    init() {
        UITableView.appearance().showsVerticalScrollIndicator = false
    }
    
    var body: some View {
        List(0...100, id: .self) { item  in
            Text("hey")
        }
    }
}
请注意,这将消除所有TableViewList指示器。如果需要,您应该再次使其可见。


⚠️尚不重要注意事项

苹果似乎正在删除appearance个黑客(但这个还没有)。因此,您可以使用LazyVStackINSIDE和ScrollView代替List,并使用可用参数隐藏指示符。

struct ContentView: View {
    var body: some View {
        ScrollView(.vertical, showsIndicators: false) { // <- This argument
            LazyVStack {
                ForEach(1...100, id: .self) {
                    Text("($0)").frame(height: 40)
                }
            }
        }
    }
}

这篇关于有没有办法在SwiftUI列表中隐藏滚动指示器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆