首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于快速ui中的.gesture(拖动手势)的问题

关于快速ui中的.gesture(拖动手势)的问题
EN

Stack Overflow用户
提问于 2021-01-12 14:20:24
回答 1查看 657关注 0票数 0

我正在尝试检测此文本视图何时已被滑动。代码编译得很好,但我无法在我的实际设备上触发滑动。当我刷卡的时候,什么都不会发生。水龙头似乎运转得很好。有人能让我知道我的代码做错了什么吗?

为了防止这件事发生,我正在用最新的Xcode开发一个在Quick5.3中的监视操作系统应用程序。

代码语言:javascript
复制
var body: some View {

    Text(tempstring).onTapGesture { checkStateRoll() }
    .frame(maxWidth: .infinity, maxHeight: .infinity)
    .gesture(DragGesture(minimumDistance: 10, coordinateSpace: .global)
     .onEnded { value in
                            let horizontalAmount = value.translation.width as CGFloat
                            let verticalAmount = value.translation.height as CGFloat
                            
                            if abs(horizontalAmount) > abs(verticalAmount) {
                                horizontalAmount < 0 ? leftswipe() : rightswipe()
                            } else {
                                verticalAmount < 0 ? upswipe() : downswipe()
                            }
                            tempstring = String(numdice) + "d" + String(typesofdice[typedice])
                            speaknumber()
                        }        ) 
    
    .background(progstate == 2 ? Color.blue : Color.red)
    }
}

非常感谢你的帮助。这几个星期来一直困扰着我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-13 03:42:49

几件事:

  1. 关于布局,设置框架不会更改文本大小,因为文本本身与其内容大小相同。如果您想占用所有的空间,请使用像ZStack这样的贪婪视图。

  1. ,修饰符的顺序确实很重要。您阅读了从下到上应用它们的顺序,因此在本例中,它们需要放在堆栈上.

下面是一个示例操场:

代码语言:javascript
复制
import SwiftUI
import PlaygroundSupport

struct V: View {
  var body: some View {
    ZStack {
      Color.red
      Text("Test")
    }
      .onTapGesture { print("tap") }
      .gesture(DragGesture(minimumDistance: 10, coordinateSpace: .global).onEnded { print($0)})

  }
}

let host = UIHostingController(rootView: V().frame(width: 500.0, height: 500.0))
host.preferredContentSize = CGSize(width: 300, height: 300)
PlaygroundPage.current.liveView = host
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65685760

复制
相关文章

相似问题

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