用户登录
用户注册

分享至

Swift中添加双击手势识别器

  • 作者: _我还好
  • 来源: 51数据库
  • 2020-08-09
在这次IOS应用开发教程中,我们打算实现手势识别。正如你所知道的,IOS支持大量的手势操作,它们能提供了很好的应用控制和出色用户体验。

已经完成了单击识别器,但无法弄清楚如何将该单击识别器改为双击.

代码:

import Foundation
import UIKit
 
class MainBoardController: UIViewController{
 
  let tap = UITapGestureRecognizer()
 
  override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view,typically from a nib.
    var swipe: UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self,action: "GotoProfile")
    swipe.direction = UISwipeGestureRecognizerDirection.Right
          self.view.addGestureRecognizer(swipe)
 
    tap.addTarget(self,action: "GotoCamera")
    view.userInteractionEnabled = true
    view.addGestureRecognizer(tap)
  }
 
  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
  }
 
  func GotoProfile(){
    self.performSegueWithIdentifier("Profilesegue",sender: nil)
  }
 
  func GotoCamera(){
    self.performSegueWithIdentifier("Camerasegue",sender: nil)
  }
}

解决方法

最终用扩展解决了这个问题:

override func viewDidLoad() {
  super.viewDidLoad()
 
  let tapGR = UITapGestureRecognizer(target: self,action: #selector(PostlistViewController.handleTap(_:)))
  tapGR.delegate = self
  tapGR.numberOfTapsRequired = 2
  view.addGestureRecognizer(tapGR)
}
extension MainBoardController: UIGestureRecognizerDelegate {
  func handleTap(_ gesture: UITapGestureRecognizer){
    print("doubletapped")
  }
}

总结

希望文章能够帮你解决如何在Swift中添加双击手势识别器所遇到的程序开发问题。

软件
前端设计
程序设计
Java相关