[英]Make scrollbar in ScrollView always visible in SwiftUI
我正在用 SwiftUI 开发一个应用程序。 我有一个水平滚动视图,当用户点击它时会显示滚动条。 由于这个应用程序更多地针对老年用户,我想不断地显示滚动条。 我在 Apple 文档中找不到有关如何启用此功能的任何内容。 有一个名为showIndicators的属性默认为 true,通过点击启用滚动条,但不会持续显示滚动条。 这是我的 ScrollView 的一个简单代码片段:
var body: some View {
ScrollView(.horizontal) {
HStack(spacing: 4) {
// other stuff in the scroll view
}
}
我认为您不能使滚动条永久可见。 可能会解决您的问题的一件事是,当用户第一次被介绍到集合视图时,让滚动条闪烁一次,以通知他们该视图可以滚动。 在 UIKit 我们有这个 UIScrollView 方法:
scrollView.flashScrollIndicators()
我不知道 SwiftUI 是否已经有了类似的东西。
经过一个小时的研究,我找到了这篇文章: 在 SwiftUI 中获取 ScrollView 的当前位置?
它让我获取滚动视图的当前位置,然后我可以根据滚动视图的跟踪位置移动绘制的矩形(看起来像滚动条)。
您必须制作滑块并垂直旋转,然后您可以在更改滑块更改值时使用变量,如下所示:
ScrollViewReader { reader in
ScrollView(showsIndicators: false){
withAnimation(Animation.easeInOut(duration:
4).delay(3)) {
reader.scrollTo(selectedIndex, anchor:
UnitPoint.center)
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.