我正在使用以下代码在Swift中创建一个UIButton:
let button = UIButton()
button.addTarget(self, action: "tileSwiped:", forControlEvents: .TouchDragExit)
我的tileSwiped函数定义如下:
func tileSwiped(button: UIButton) {
}
我想要做的是确定TouchDragExit事件发生的方向。更具体地说,我的按钮是一个矩形,我想知道拖动是否在顶部,底部,左侧或右侧边缘退出矩形。
但是,如果没有访问触发函数调用的动作事件,我看不到这样做的方法。但当然,我无法更改传递给tileSwiped函数的参数。那么如何才能获得“滑动”的方向呢?
(我愿意改变我的方法来倾听手势,因为我认为这种方法不会让我任何地方,但请注意我确实需要将按钮作为参数。)
答案 0 :(得分:3)
使用UISwipeGestureRecognizer
会更容易,请参阅Apple Documentation。
您想要做的是:
UISwipeGestureRecognizer
示例:
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")
}