检测被点击的按钮 - iOS

Posted

技术标签:

【中文标题】检测被点击的按钮 - iOS【英文标题】:Detect button being tapped - iOS 【发布时间】:2018-02-06 11:38:13 【问题描述】:

我正在使用objective-c,我想检测用户何时点击按钮(不是当他点击它时,而是在他停止之前被录音的实际时刻)。 有什么方法吗?如果有的话,我找不到。 谢谢

【问题讨论】:

使用按钮的touchDown事件 【参考方案1】:

使用touchDown 事件,您可以在按下按钮时执行操作

示例

import UIKit

class ViewController: UIViewController 

    @IBOutlet weak var label: UILabel!
    override func viewDidLoad() 
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    

    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    

    @IBAction func testing(_ sender: Any) 
        label.textColor = UIColor.red
    

    @IBAction func testingCancel(_ sender: Any) 
        label.textColor = UIColor.black
    

    @IBAction func testingUpInside(_ sender: Any) 
        label.textColor = UIColor.black
    



【讨论】:

简单但很好的答案...! 感谢@Krunal 非常感谢!【参考方案2】:

这里 (UIControlEvents) 是控制/动作的所有事件(及其简要说明)

UIControlEventTouchCancel:取消控件当前触摸的系统事件。 UIControlEventTouchDown控件中的触摸事件;当点击/按下按钮时。 UIControlEventTouchDownRepeat:控件中重复的触屏事件;对于此事件,UITouch tapCount 方法的值为 大于一。 UIControlEventTouchDragEnter:手指被拖入控件边界的事件。 UIControlEventTouchDragExit:手指从控件内拖动到其边界外的事件。 UIControlEventTouchDragInside:在控件边界内拖动手指的事件。 UIControlEventTouchDragOutside:手指被拖动到控件边界之外的事件。 UIControlEventTouchUpInside:控件中的触摸事件,手指位于控件边界内。 UIControlEventTouchUpOutside:控件中的一个触摸事件,手指在控件边界之外。

使用Touch Down获取按键点击事件。

【讨论】:

【参考方案3】:

是的,有可能

按钮有以下事件要监听

你可以使用Touch Down

【讨论】:

以上是关于检测被点击的按钮 - iOS的主要内容,如果未能解决你的问题,请参考以下文章

如何检测iOS中最近的小按钮的点击?

如何检测 Facebook 喜欢的按钮被点击?

Unity UGUi 怎么判断 点击按钮的抬起和按下

IOS UIScrollView - 同时滚动和点击元素

检测在 SwiftUI 中点击的系统警报按钮

检测 AVPlayerViewController 完成按钮点击?