xme*_*tal 0 swift swiftui swiftui-scrollview
如何阻止向下滚动并只允许向上滚动以避免在滚动时看到顶部矩形上方的空白?
struct ContentView: View {
var body: some View {
GeometryReader { geo in
ScrollView {
Rectangle()
.frame(width: geo.size.width, height: 400)
.foregroundColor(.black)
Spacer()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我假设您想避免反弹,这是可能的方法(使用 Xcode 12 / iOS 14 测试)
struct ContentView: View {
var body: some View {
GeometryReader { geo in
ScrollView {
Rectangle()
.frame(width: geo.size.width, height: 1800)
.foregroundColor(.black)
.background(ScrollViewConfigurator {
$0?.bounces = false // << here !!
})
Spacer()
}
}
}
}
struct ScrollViewConfigurator: UIViewRepresentable {
let configure: (UIScrollView?) -> ()
func makeUIView(context: Context) -> UIView {
let view = UIView()
DispatchQueue.main.async {
configure(view.enclosingScrollView())
}
return view
}
func updateUIView(_ uiView: UIView, context: Context) {}
}
Run Code Online (Sandbox Code Playgroud)
注意:enclosingScrollView()助手来自我在如何在 SwiftUI 中以编程方式滚动列表?
| 归档时间: |
|
| 查看次数: |
714 次 |
| 最近记录: |