【问题标题】:Swipe gesture recognizer swift快速滑动手势识别器
【发布时间】:2016-01-09 16:25:10
【问题描述】:

我已经在互联网上寻找了几个小时来了解如何使用滑动手势识别器。我不想编写代码,因为我已经尝试了几乎每一个示例,但这不起作用。但是,我知道对象库中有一个滑动手势识别器,但它似乎不起作用。有人可以给我一个链接,让我可以使用对象库中的滑动手势识别器,或者告诉我怎么做吗?

谢谢,

(如果我出于某种原因过于宽泛,或者您不喜欢我的问题,请不要 -1 这个,只要发表评论,我会做出改变,拜托)。

崩溃日志: 2016-01-09 10:59:33.392 Capitals[250:14059]-[Capitals.Alabama1 handleSwipes]:无法识别的选择器发送到实例 0x14f695150 2016-01-09 10:59:33.397 Capitals[250:14059] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[Capitals.Alabama1 handleSwipes]:无法识别的选择器发送到实例 0x14f695150” * 首先抛出调用栈: (0x184bdcf48 0x19984ff80 0x184be3c5c 0x184be0c00 0x184ae4cac 0x18a6eb330 0x18a314b5c 0x18a1a285c 0x18a6ec70c 0x18a1618b8 0x18a15e63c 0x18a1a06cc 0x18a19fcc8 0x18a1704a4 0x18a16e76c 0x184b94544 0x184b93fd8 0x184b91cd8 0x184ac0ca0 0x18fb40088 0x18a1d8ffc 0x10008a264 0x19a0928b8) libc++abi.dylib:以 NSException 类型的未捕获异常终止

(Handle Swipes 是函数的名称)

代码如下:

导入 UIKit

类 Alabama1: UIViewController { @IBOutlet 弱变量标签:UILabel!

override func viewDidLoad() {
    super.viewDidLoad()

    let reveal = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes"))
    let next = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes"))

    // Do any additional setup after loading the view, typically from a nib.
    reveal.direction = .Up
    next.direction = .Left

    view.addGestureRecognizer(reveal)
    view.addGestureRecognizer(next)

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func handleSwipes(sender:UISwipeGestureRecognizer) {
    if (sender.direction == .Up) {
        label.text = "Motgomery"
    }

}





}

【问题讨论】:

  • 你说,你尝试了一些东西,但它不起作用。你能包括你使用的代码吗?
  • 我可以把我复制的教程包括进来吗?这是:youtube.com/watch?v=9r1UFNeVuFA。我将“var”更改为“let”以使用最新版本的 swift。 @MidhunMP
  • 那么什么不起作用?您是否按照教程中提到的所有步骤进行操作?
  • @MidhunMP 我按照教程中的所有步骤进行操作,但当我尝试时,它在函数部分崩溃了。我仔细检查了该功能,但它与视频完全相同。我检查了该功能,因为根据 xcode,我的应用程序在那里崩溃了。
  • 请包含您用于添加滑动手势的代码和选择器方法。包括你得到的崩溃日志

标签: ios swift2 uiswipegesturerecognizer ios9.1


【解决方案1】:

您在添加事件时缺少半列。试试这样:

let reveal = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes:"))
let next = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes:"))

【讨论】:

  • @NickCatlib 非常感谢!
【解决方案2】:

在 swift3 版本中:

   let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(MainMenuViewController.handleSwipes(_sender:)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 2015-07-23
    • 1970-01-01
    相关资源
    最近更新 更多