首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在UILongPressGestureRecognizer中获取时间

在UILongPressGestureRecognizer中获取时间
EN

Stack Overflow用户
提问于 2018-06-19 06:46:06
回答 1查看 58关注 0票数 0

我正在尝试使用UILongPressGestureRecognizer获取按下UIView的时间

但是,press:UILongPressGestureRecognizer的状态是.began.end.cancelled.changed

但是,我想知道是否按下了x秒来改变UIView的控制。

我当前的代码是:

代码语言:javascript
复制
 override func viewDidLoad() {
        super.viewDidLoad()

        let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(NavigationViewController.displayDebugger(_:)))
        self.view.addGestureRecognizer(longPressRecognizer)

    }

    @objc public func displayDebugger(_ press:UILongPressGestureRecognizer){
        if press.state == .began{
            startDate = Date()
        }
        else if press.state == .ended{
            endDate = Date()

            let components = Calendar.current.dateComponents([.second], from: startDate, to: endDate)
            if(components.second! >= 1){
                let debugger = LogView()
                debugger.loadRequests()
            }

        }
    }

但是,我找不到知道时间的方法。有没有办法做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-19 10:41:19

当长按开始时,注意时间(开始)。当它取消、结束或失败时;可以选择计算距离起点的秒数。如果按下时间超过5秒,则myView为红色。

代码语言:javascript
复制
class MyViewController : UIViewController {

  var start: Date?

  override func loadView() {
    view = UIView()
    view.isUserInteractionEnabled = true
    view.addGestureRecognizer(UILongPressGestureRecognizer(target: self, action: #selector(tap)))
  }

  @objc func tap(gr: UILongPressGestureRecognizer) {
    switch gr.state {
    case .began:
      start = Date()
    case .failed, .cancelled, .ended:
      guard let temp = start else { return }
      let seconds = Date().timeIntervalSince(temp)
      if seconds > 5 { myView.backgroundcolor = UIColor.red }
      print(seconds)
    default:
      break
    }
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50918416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档