ios - UISwipeGestureRecognizer 抛出无法识别的选择器发送错误

标签 ios swift uigesturerecognizer swift3

我的 iOS 应用程序中出现 unrecognized selector sent 错误。我尝试根据其他类似线程中提到的答案解决问题,但失败了。请查看下面的代码并帮助我解决这个问题。

谢谢

class ThirdViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.



        let leftSwipe = UISwipeGestureRecognizer(target: self, action:  Selector(("HandleSwipes:")))

        let rightSwipe = UISwipeGestureRecognizer(target: self, action:   Selector(("HandleSwipes:")))

        leftSwipe.direction = .left
        rightSwipe.direction = .right


        view.addGestureRecognizer(leftSwipe)
        view.addGestureRecognizer(rightSwipe)



    }



    func HandleSwipes(sender: UISwipeGestureRecognizer) {

        //if(sender.direction == .left)
        //{
        //    tabBarController?.selectedIndex = 1
        //}
    }
}

最佳答案

像这样写选择器。

Swift 2.3 或更低版本。

let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:)))
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(_:)))

swift 3

let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(sender:)))
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(HandleSwipes(sender:)))

注意:一个建议是 batter 方法名称总是以小写而不是大写开头。因此,如果您使用 handleSwipes 而不是 HandleSwipes 会更好。

关于ios - UISwipeGestureRecognizer 抛出无法识别的选择器发送错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39586525/

相关文章:

iphone - 如何增加 NSString 类型变量的保留计数?

iOS10 - 透明的应用程序背景

列表中的 iOS 数据不保存值

ios - UIGestureRecognizer subview 识别器问题

cocos2d-iphone - Cocos2d 获取手势位置

ios - 实现 Facebook 登录 IOS

ios - Facebook 应用程序未授权,使用 Facebook SDK 从我的 iOS 应用程序调用

ios - 结合向下滑动和长按

iOS 应用程序切片或细化不起作用

ios - 在 Swift4 上的 TableViewCell 将图像设置为 UIImageView 时出错