滑动选项 swiftUI 滚动视图

Posted

技术标签:

【中文标题】滑动选项 swiftUI 滚动视图【英文标题】:Swipe for options swiftUI scrollview 【发布时间】:2020-10-05 04:51:02 【问题描述】:

如果在我快速搜索找不到答案之前有人问过这个问题,请原谅我。我正在创建一个应用程序,用户可以在其中接收好友请求,并且我希望用户能够向左滑动以显示不同的选项来接受或拒绝请求

为了更清楚,这就是我想要的样子

如果有帮助,这是我的滚动视图

 ScrollView(.vertical)
                        VStack(spacing: 40)
                            
                            // TODO Add Chat Rooms
                            ForEach(ChatRooms, content: room in
                                //Create an in app link that navigates to messaging screen
                                NavigationLink(
                                    destination: MessageDetail(messageShowing: $detailShowing),
                                    isActive: $detailShowing,
                                    label: 
                                        //Create a chat room card
                                        Button(action: 
                                            detailShowing = true
                                        , label: 
                                            ChatRoomView(room: room)
                                        ).buttonStyle(PlainButtonStyle())
                                        
                                    
                                    
                                ).buttonStyle(PlainButtonStyle())
                            
                        )
                        
                    .padding(.top, 30)
                

编辑:我尝试在我的垂直滚动视图中嵌套一个水平滚动视图,如下所示 滚动视图 (.horizo​​ntal) VStack(间距:40)

                                // TODO Add Chat Rooms
                                ForEach(ChatRooms, content: room in
                                    //Create an in app link that navigates to messaging screen
                                    ScrollView (.horizontal) 
                                        NavigationLink(
                                            destination: MessageDetail(messageShowing: $detailShowing),
                                            isActive: $detailShowing,
                                            label: 
                                                //Create a chat room card
                                                Button(action: 
                                                    detailShowing = true
                                                , label: 
                                                    ChatRoomView(room: room)
                                                ).buttonStyle(PlainButtonStyle())

                                            

                                        ).buttonStyle(PlainButtonStyle())
                                    



                                )

                           .padding(.top, 30)
                        

但这就是我的结局

【问题讨论】:

【参考方案1】:

try this class :-

https://github.com/EnesKaraosman/SwipeCell

how to use:-

Simply add onSwipe(leading, trailing) method to your list item
    List 
        HStack 
            Text("Enes Karaosman")
            Spacer()
        
        .listRowInsets(EdgeInsets())
        .onSwipe(leading: [
          .. // here add slots
        ])
        
    

【讨论】:

我可以在滚动视图上使用这个修饰符吗?我使用滚动视图,因为它们更容易修改外观?

以上是关于滑动选项 swiftUI 滚动视图的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift ScrollView、UITableView、滚动区域

在 SwiftUI 列表/表单中禁用滚动

SwiftUI - 自动滚动水平滚动视图以显示全文标签

SWIFTUI:- 有没有办法在滚动滚动视图时关闭弹跳?

SwiftUI:如何让滚动视图包含完整列表长度

滚动视图 SwiftUI