如何让视图响应触摸(而非点按)

时间:2017-07-11 16:40:07

标签: swift xcode

我正在搜索一个单词,并且有一个字母网格。我希望用户能够在一行字母上画一个手指,用标签保存,并让这些字母以某种方式响应,这样我就可以将选中的字母放入一个数组中。 我找不到任何方法让这些字母以这种方式回应。 我已经尝试记录手指的坐标(touchBegan等)并使用它们来计算字母的位置,但它是不精确的。 有什么方法可以让网格中的单元格响应,以便我可以收集它们中的信息吗? 我宁愿不使用水龙头,因为我觉得用户希望将手指拖过网格。 我一直在收藏视图中的标签中保留字母,但我现在正在尝试使用文本视图网格。

1 个答案:

答案 0 :(得分:0)

可悲的是,没有。对于一个观点。您可以通过覆盖touchesMoved功能来检测触摸信息的唯一方法。您必须计算位置才能查看用户当前所在的单元格。另请注意,移动手指时会触发此功能。所以你必须防止重复的值。

override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
    if let touch = touches.first {
        let currentPoint = touch.location(in: self.view)
        print(currentPoint)
    }
}