检测触摸何时开始在屏幕上的任何位置,即使是在 UIButton 上
Posted
技术标签:
【中文标题】检测触摸何时开始在屏幕上的任何位置,即使是在 UIButton 上【英文标题】:Detect when a touch begins anywhere on screen even on a UIButton 【发布时间】:2020-03-31 20:06:56 【问题描述】:我正在寻找一种简单的方法来检测用户何时开始触摸屏幕,无论他们是触摸 UIButton 还是屏幕上的其他位置。
如果我在 ViewController 上使用 touchesBegan(...
,它不会检测到对 UIButton 等控件的触摸。
ViewController 上有UITapGesturReconizer
,但只有在点击完成时才会触发。我希望检测任何触摸何时开始。
【问题讨论】:
***.com/questions/19611601/… 【参考方案1】:使用UILongPressGestureRecognizer
并将其minimumPressDuration
设置为0。在UIGestureRecognizerStateBegan
状态期间,它的作用类似于触地。
func setupTap()
let touchDown = UILongPressGestureRecognizer(target:self, action: #selector(didTouchDown))
touchDown.minimumPressDuration = 0
view.addGestureRecognizer(touchDown)
@objc func didTouchDown(gesture: UILongPressGestureRecognizer)
if gesture.state == .began
doSomething()
【讨论】:
以上是关于检测触摸何时开始在屏幕上的任何位置,即使是在 UIButton 上的主要内容,如果未能解决你的问题,请参考以下文章