簡體   English   中英

使 ScrollView 中的滾動條在 SwiftUI 中始終可見

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM