如何以编程方式创建UISwipeGestureRecognizer

时间:2017-06-01 15:30:19

标签: ios swift uiswipegesturerecognizer

private let swipeUp: UISwipeGestureRecognizer = {
    let swiper = UISwipeGestureRecognizer(target: self, action: #selector(movedUp))
    swiper.direction = .up
    return swiper
}()

private let swipeDown: UISwipeGestureRecognizer = {
    let swiper = UISwipeGestureRecognizer(target: self, action: #selector(movedDown))
    swiper.direction = .down
    return swiper
}()

创建我的swipeUp和swipeDown手势识别器

func movedUp(sender: UISwipeGestureRecognizer){
    print("UP")
}
func movedDown(sender: UISwipeGestureRecognizer){
    print("DOWN")
}

收到滑动时要调用的函数

override func viewDidLoad() {
    self.view.addGestureRecognizer(swipeUp)
    self.view.addGestureRecognizer(swipeDown)

}

在viewDidLoad中添加我的手势识别器

我的程序运行,但是当我滑动时没有任何反应,我做错了什么? 谢谢大家

2 个答案:

答案 0 :(得分:0)

试试这个:

private lazy var swipeUp: UISwipeGestureRecognizer = {
    let swiper = UISwipeGestureRecognizer(target: self, action: #selector(movedUp))
    swiper.direction = .up
    return swiper
}()

private lazy var swipeDown: UISwipeGestureRecognizer = {
    let swiper = UISwipeGestureRecognizer(target: self, action: #selector(movedDown))
    swiper.direction = .down
    return swiper
}()

override func viewDidLoad()
{
    super.viewDidLoad()
    self.view.addGestureRecognizer(swipeUp)
    self.view.addGestureRecognizer(swipeDown)
}

func movedUp(sender: UISwipeGestureRecognizer)
{
    print("UP")
}

func movedDown(sender: UISwipeGestureRecognizer)
{
    print("DOWN")
}

答案 1 :(得分:-1)

您是否尝试过func movedUp(sender:UIGestureRecognizer)