首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwiftUI: MagnificationGesture不触发

SwiftUI: MagnificationGesture不触发
EN

Stack Overflow用户
提问于 2019-08-01 00:05:21
回答 1查看 1.2K关注 0票数 2

我想在屏幕上添加一个MagnificationGesture,但它不能触发。我试着通过.gesturesimultaneousGesture等添加手势,但没有区别。在我看来,滚动视图的手势具有优先级,但我找不到如何同时识别这两个手势。

代码语言:javascript
复制
...
@State private var magnification: CGFloat = 1.0

var body: some View {

        let magnificationGesture = MagnificationGesture(minimumScaleDelta: 0)
            .onChanged({ value in

                self.magnification = value
            })
            .onEnded({ value in

                self.magnification = value
            })

        return Group {

            VStack {

                TitleView(title: NSLocalizedString("timeline.title", comment: ""))

                ScaleView(viewModel: viewModel)

                ScrollView(.horizontal) {

...
                }

                Text("\(String(describing: magnification))")
            }
        }
        .gesture(magnificationGesture)
    }

编辑:我创建了一个具有相同错误行为的独立变体:

代码语言:javascript
复制
//
//  TimelineMock.swift
//  Testprojekt
//
//  Created by Gerhard Schneider on 31.07.19.
//  Copyright © 2019 innoreq GmbH. All rights reserved.
//

import SwiftUI


struct TimelineView: View {


    @State private var magnification: CGFloat = 1.0


    var body: some View {

        let magnificationGesture = MagnificationGesture(minimumScaleDelta: 0)
            .onChanged({ value in

                self.magnification = value
            })
            .onEnded({ value in

                self.magnification = value
            })

        return Group {

            VStack {

                Text("Title")
                .foregroundColor(.red)

                ScrollView(.horizontal) {

                    ZStack {

                        ForEach(0 ..< 10) { index in

                            HStack {

                                Text("Cell")
                                    .foregroundColor(.green)
                            }
                        }
                    }
                }

                Text("\(self.magnification.description)")
            }.gesture(magnificationGesture)
        }
    }
}


#if DEBUG
struct TimelineView_Previews: PreviewProvider {

    static var previews: some View {

        TimelineView()
    }
}
#endif
´´´
EN

回答 1

Stack Overflow用户

发布于 2019-08-01 22:13:01

我更新到了Xcode11beta5和macOS 10.15beta5,现在似乎可以工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57294930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档