我想创建一个SwiftUI列表,但不显示滚动指示器。 ScrollView提供了showIndicators来执行此操作。怎么办?
答案 0 :(得分:2)
您可以摆脱所有List
的显示指示器,但具有UITableView
的API。因为SwiftUI List
在后台将UITableView
用于iOS:
struct ContentView: View {
init() {
UITableView.appearance().showsVerticalScrollIndicator = false
}
var body: some View {
List(0...100, id: \.self) { item in
Text("hey")
}
}
}
请注意,这将消除所有TableView
和List
的指示器。如果需要,您应该再次使其可见。
答案 1 :(得分:1)
List基本上在后台创建一个表视图(UpdateCoalescingTableView),并且该表视图是可滚动的。但是不幸的是,您无法使用SwiftUI中的scrollview属性。
您“可能”能够创建一个UIViewRepresentable,它可以遍历视图层次结构,直到找到滚动视图为止,但是我不建议这样做。
您还可以创建自己的滚动视图,在其中放置一个vstack,然后“伪造”一个列表视图,这可能是更安全的方法。
答案 2 :(得分:1)
实际上很容易做到这一点,而不会在接受的答案中出现任何外观问题。您只需要使用ScrollView初始化程序并将指标设置为false。
.snap-wrapper .snap-box.box_1 .navbar ul li a