簡體   English   中英

操作不適用於 SwiftUI 中水平滾動視圖內的列表

[英]Actions not working on Lists inside horizontal scrollviews in SwiftUI

我正在嘗試制作一個其中嵌入了多個列表的水平滾動視圖,事情是即使實現刪除方法我也可以滾動列表或滾動視圖,但我不能使用刪除操作。

我想知道是否有任何方法可以克服這個問題,也許是當手指在單元格上時使滾動視圖不可滾動,或者是否有更智能的選項。

這是代碼:

 var body: some View {
    ScrollView(.horizontal, showsIndicators: true){
        HStack(alignment: .top, spacing: 60){
            ForEach(data.trips[0].days){ day in
                    List{
                        Section{
                            Text(String((day as Day).date))
                            ForEach(day.stops){ stop in
                                Text((stop as Stop).title)
                            }.onDelete(perform: self.delete)
                        }
                    }
                .listStyle(GroupedListStyle())
            }
        }.frame(width:800)
    }.background(Color.clear)
}

func delete(at offsets: IndexSet){
    print(offsets)
}

當然它在滾動視圖中向左/向右滑動,在列表中向上/向下滑動

你正在使用一堆內置的便利,比如 ScrollView 和 List,我認為沒有任何方法可以通過只使部分字段可滾動來選擇性地覆蓋它們的行為。

即使你確實把它一起破解了,我認為這對用戶來說真的很不直觀。 它將以一種根本不明顯的方式混合 UI 滑動隱喻。

您必須為 HStack 實現自己的滾動小部件,或者添加刪除接口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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