Swiftui等效于夹具?
我在Swiftui中有一个ScrollView,我不想在滚动时夹住不在范围的内容。在Uikit中,我们可以通过将 设置为 false
来实现这一目标。您将如何在Swiftui中做同样的事情。还是在Swiftui中实现类似行为的最佳实践是什么?
顺便说一句,我知道我们可以使用 uiviewRepresentable
来映射Uikit视图,或者如果我们使用某些库,例如 SwiftUi-Introspect 我们可以获取基础的Uikit scrollview,并设置 clipstobounds
到FALSE。但是我想知道是否有Swiftui的本地方法可以做到这一点。
这是一些代码,可以使问题更加清楚。
struct MyScrollView: View {
var body: some View {
VStack(spacing: 0) {
header
content
}
}
var header: some View {
Text("Header")
.padding()
.frame(minHeight: 200)
}
var content: some View {
ScrollView {
Text("Content").padding()
Text("Content").padding()
Text("Content").padding()
Text("Content").padding()
Text("Content").padding()
}
.frame(maxWidth: .infinity)
.background(.orange)
}
}
这就是它呈现的,当我向上滚动时,ScrollView内容被剪辑。
我要寻找的是这样,当我向上滚动时,我应该能够在标题下看到内容。
预先感谢:)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编辑:使用堆栈并在滚动视图中添加空标头:
EDIT : Use a Stack and add an empty header to the scroll view:
在iOS 17上,SwiftUi具有一个视图修饰符,称为
.scrollClipDisabled()
在此版本之前,您可以执行
On iOS 17, SwiftUI has a view modifier called
.scrollClipDisabled()
Before this version, you can do