微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

手势与 SwiftUI 中的 Slider 对象冲突

如何解决手势与 SwiftUI 中的 Slider 对象冲突

我有一个使用 SwiftUI 的 iOS 应用。它有我可以滑动的页面(使用 SwiftUIPager)。这工作得很好,但我在某些页面上有一个 Slider 对象,这就是问题出现的地方。移动滑块与页面的滑动手势冲突,这不是我想要的。 我应该能够在不移动底层页面的情况下移动滑块。

这是我的代码

import SwiftUI
import CoreData
import SwiftUIPager


struct XplainString: Identifiable {
    var id:Int //{return id}
    var value:String
}


struct PageView: View {
    .....
    @StateObject var page:Page
    .....
    
    var body: some View {
        Pager(page: self.page,data: self.itemsList,id: \.self) { page in
                self.pageBlock(page)
        }
        .swipeInteractionArea(.allAvailable)
    }
    
    
    func pageBlock(_ page: Pagelist) -> some View {
        vstack {
            .....
            SliderBlockView()
                .padding(.bottom,17)
        }
    }
}


struct SliderBlockView: View {
    .....
    @State private var sndSpeed = 100.0

    var body: some View {
        vstack {
            Slider(value: Binding(get: {self.sndSpeed},set: {newValue in self.sndSpeed = round   (newValue)}),in: 0...100)
                .frame(width: 200,height: 40,alignment: .center)
                .background(Color.gray)
                .padding(.horizontal,3.0).padding(.vertical,2.0)
                .overlay(RoundedRectangle(cornerRadius: 15.0)
                    .stroke(linewidth: 7.0)
                            .foregroundColor(Color.gray))
                .padding(.horizontal,20.0).padding(.top,20.0)
            
            HStack {
                .....
            }
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。