使 ScrollView 中的滚动条在 SwiftUI 中始终可见
Posted
技术标签:
【中文标题】使 ScrollView 中的滚动条在 SwiftUI 中始终可见【英文标题】:Make scrollbar in ScrollView always visible in SwiftUI 【发布时间】:2021-06-16 09:37:34 【问题描述】:我正在用 SwiftUI 开发一个应用程序。 我有一个水平滚动视图,当用户点击它时会显示滚动条。由于这个应用程序更多地针对老年用户,我想不断地显示滚动条。我在 Apple 文档中找不到有关如何启用此功能的任何内容。有一个名为 showIndicators 的属性默认为 true,通过点击启用滚动条,但不会持续显示滚动条。这是我的 ScrollView 的简单代码 sn-p:
var body: some View
ScrollView(.horizontal)
HStack(spacing: 4)
// other stuff in the scroll view
【问题讨论】:
您需要构建一个自定义指标,在滚动时上下移动。 【参考方案1】:我认为您不能使滚动条永久可见。可能会解决您的问题的一件事是,当用户第一次被介绍到集合视图时,让滚动条闪烁一次,以通知他们该视图可以滚动。在 UIKit 我们有这个 UIScrollView 方法:
scrollView.flashScrollIndicators()
我不知道 SwiftUI 是否已经有类似的东西了。
【讨论】:
【参考方案2】:经过一个小时的研究,我发现了这个帖子:Get the current position of ScrollView in SwiftUI?
它让我得到一个滚动视图的当前位置,然后我可以根据滚动视图的跟踪位置移动一个绘制的矩形(看起来像一个滚动条)。
【讨论】:
以上是关于使 ScrollView 中的滚动条在 SwiftUI 中始终可见的主要内容,如果未能解决你的问题,请参考以下文章
Swift - ScrollView 中的 StackView 不滚动
向上推键盘 Swift iOS 后,我的 Scrollview 不会一直向上滚动
UITableViewCell中的Swift ScrollView不滚动