欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

Swift中添加双击手势识别器,

来源: 开发者 投稿于  被查看 11063 次 评论:13

Swift中添加双击手势识别器,


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

代码:

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中添加双击手势识别器全部内容,希望文章能够帮你解决如何在Swift中添加双击手势识别器所遇到的程序开发问题。

用户评论