为什么滑动手势识别器只工作一次? [英] Why does the Swipe Gesture Recognizer only work once?

查看:14
本文介绍了为什么滑动手势识别器只工作一次?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我设置了Swipe Gesture Recognizer并将其连接到代码,以便UIImageView在用户向左滑动时旋转。

@IBAction func swipeToLeft(sender: AnyObject) {

    UIView.animateWithDuration(1.0, animations: {
        self.image.transform = CGAffineTransformRotate(self.image.transform, -3.14159265358979 )
    })
}

我确保viewDidLoad方法如下所示:

image.userInteractionEnabled = true

但是,UIImageView仅转换一次

您可以从link下载该项目的demo。为什么会发生这种情况?

推荐答案

我想,问题是在您旋转图像的那一刻,与其关联的手势识别器也被旋转了。您可以确保自己:

从右向左滑动。图像将旋转。然后从左向右滑动。它将再次旋转。

如果您希望始终处理从右向左的滑动,您可以通过以下两种方法来实现:

  1. 如果您的视图总是旋转180度,最简单的方法是更改手势识别器方向(@LyndseyScott比我更快地纠正了这一次的代码,您可以检查她的答案:)。
  2. 另一种选择(特别是在可能的情况下,当您以某个任意角度旋转视图时)是在要旋转的视图(但不是其子视图!)上创建一个UIView,并向其添加手势识别器。

这篇关于为什么滑动手势识别器只工作一次?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆