我正在进行单词搜索并有一个字母网格。我希望用户能够用手指划过标签中的一排字母,并让这些字母以某种方式做出响应,以便我可以将选定的字母放入数组中。 我找不到任何方法让字母以这种方式响应触摸。 我尝试记录手指的坐标(touchBegan 等)并用它们来计算字母的位置,但它不精确。 有什么方法可以让网格中的单元格做出响应,以便我可以收集其中保存的信息? 我不想使用点击,因为我觉得用户希望在网格上拖动手指。 我一直在 Collection View 中的标签中保留字母,但现在尝试使用 TextView 网格。
最佳答案
遗憾的是,没有。为了一观。检测触摸信息的唯一方法是重写 touchesMoved
函数。您必须计算位置才能查看用户当前所在的单元格。另请注意,移动手指时会多次触发此功能。所以你也必须防止重复的值。
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
if let touch = touches.first {
let currentPoint = touch.location(in: self.view)
print(currentPoint)
}
}
关于swift - 如何使 View 响应触摸(而不是点击),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45040211/