相关疑难解决方法(0)

SwiftUI 跨多个子视图拖动手势

我正在尝试创建一个小方块视图的网格,当用户用拇指悬停在它们上面(或在它们上滑动)时,小方块会暂时“弹出”并摇晃。然后,如果他们继续长按该视图,则会打开另一个包含更多信息的视图。

我认为在方形视图上实现拖动手势就足够了,但看起来一次只有一个视图可以捕获拖动手势。

有没有办法启用多个视图来捕获拖动手势,或者一种为 iOS 实现“悬停”手势的方法?

这是我的主要网格视图:

import SwiftUI

struct ContentView: View {
  @EnvironmentObject var data: PlayerData

    var body: some View {
      VStack {
        HStack {
      PlayerView(player: self.data.players[0])
      PlayerView(player: self.data.players[1])
      PlayerView(player: self.data.players[2])
        }

        HStack {
      PlayerView(player: self.data.players[3])
      PlayerView(player: self.data.players[4])
      PlayerView(player: self.data.players[5])
        }

        HStack {
      PlayerView(player: self.data.players[6])
      PlayerView(player: self.data.players[7])
      PlayerView(player: self.data.players[8])
        }

        HStack {
      PlayerView(player: self.data.players[9])
      PlayerView(player: self.data.players[10])
        }
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的 Square 视图,它将包含一个小摘要以显示在 Square 上:

import SwiftUI

struct PlayerView: View {
  @State var scaleFactor: CGFloat = 1.0
  var player: Player …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

5
推荐指数
1
解决办法
1507
查看次数

带有很多按钮的 VStack 上的 DragGesture,如何检测拖动何时在按钮内

在 UIKit 中,这可以用这样的代码来完成:

if button.frame.contains(sender.location(in: rightStackView)) { ... }
Run Code Online (Sandbox Code Playgroud)

但是在 SwiftUI 中,我似乎找不到与 类似的任何内容frame.contains,那么我怎样才能找出拖动是在特定按钮或其他视图内的时间呢?

ios swiftui

2
推荐指数
1
解决办法
1298
查看次数

标签 统计

ios ×2

swiftui ×2

swift ×1