ios - 快速获取滑动手势的方向

标签 ios swift

我正在使用以下代码在 Swift 中创建一个 UIButton:

let button = UIButton()
button.addTarget(self, action: "tileSwiped:", forControlEvents: .TouchDragExit)

我的tileSwiped函数定义如下:

func tileSwiped(button: UIButton) {
}

我想做的是确定 TouchDragExit 事件发生的方向。更具体地说,我的按钮是一个矩形,我想知道拖动是在按钮的顶部、底部、左侧还是右侧边缘退出矩形。

但是,如果无法访问触发函数调用的运动事件,我看不出有什么方法可以做到这一点。但当然,我无法更改传递给 tileSwiped 函数的参数。那么如何获取“滑动”的方向呢?

(我愿意改变监听手势的方法,因为我认为这种方法不会让我有任何用处,但请注意,我确实需要将按钮作为参数保留。)

最佳答案

使用 UISwipeGestureRecognizer 会更容易,参见 Apple Documentation .

你要做的是:

  1. 创建一个UISwipeGestureRecognizer
  2. 指定您要识别的方向
  3. 将这个识别器添加到按钮
  4. 实现回调方法

例子:

let button = UIButton();
// 1
let swipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "swipe:");
// 2
swipeGestureRecognizer.direction = .Left
// 3
button.addGestureRecognizer(swipeGestureRecognizer)

.

// 4
func swipe(gestureRecognizer: UISwipeGestureRecognizer) {
    NSLog("left")
}

关于ios - 快速获取滑动手势的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35008751/

相关文章:

objective-c - If 语句与 CGPoint

swift - iOS8 自定义键盘 - 复制并粘贴到 UIPasteboard

ios - swift:将字符串转换为 double 问题

swift - Xcode:运算符后的预期表达式

ios - swifyJson突然无法解析alamofire数据

ios - 跨屏幕收集数据的快速、更简洁的方式

ios - Cocoa Touch 框架中 Unresolved 公共(public)类

ios - 如何在 Swift Struct 中存储多个回溯日期?

ios - 键盘动画移动 UITableView 部分标题

swift - 如何在 TableView 中设置标题的背景颜色?