UITapGestureRecognizer 在立即触摸时激活?

Posted

技术标签:

【中文标题】UITapGestureRecognizer 在立即触摸时激活?【英文标题】:UITapGestureRecognizer Activate on Immediate Touch? 【发布时间】:2017-01-29 04:43:08 【问题描述】:

标题可能有点混乱,但有什么方法可以让我在触摸 uiview 的那一刻执行此代码?

entry.transform = CGAffineTransform(scaleX: 0.975, y: 0.975)
    speech.transform = CGAffineTransform(scaleX: 0.975, y: 0.975)

我有一个想要模拟按钮按下的 UIView。目前,按照我的设置方式,它只会在我的手指离开屏幕时触发

func voiceTap(sender: UITapGestureRecognizer? = nil) 
    entry.transform = CGAffineTransform(scaleX: 0.975, y: 0.975)
    speech.transform = CGAffineTransform(scaleX: 0.975, y: 0.975)
    UIView.animate(withDuration: 0.2, delay: 0, options: UIViewAnimationOptions.curveLinear, animations: 
        self.entry.transform = CGAffineTransform.identity
        self.speech.transform = CGAffineTransform(scaleX: 0.975, y: 0.975)
    , completion: nil)

如何获取动画块之外的代码以在我的手指触摸 UIView 时触发?

【问题讨论】:

轻点就是轻点。将其更改为 UIGestureRecognizer 并切换其状态和大小写更改,您可以根据需要更新任何内容 ios Detect tap down and touch up of a UIView的可能重复 如果您发现有延迟,您可能还想禁用delaysContentTouchesInView。这发生在滚动视图中的内容之类的事情上。 【参考方案1】:

您需要实现方法(touchesBegan: withEvent: 等)来检测 UIViewController 中接收到的触摸,并检查触摸是否对应于您感兴趣的 UIView。从那里你可以触发一个动作。

Check this thread how to implement the methods

Or this one

【讨论】:

以上是关于UITapGestureRecognizer 在立即触摸时激活?的主要内容,如果未能解决你的问题,请参考以下文章

UITapGestureRecognizer 不适用于 UIView 动画

使用 UITapGestureRecognizer 无法识别的选择器

UIlabel 中的 UITapGestureRecognizer 错误

UITapGestureRecognizer 的问题

带有点击事件的 UITapGestureRecognizer

UIButton 上的 UITapGestureRecognizer