UITapGestureRecognizer 发送者是手势,而不是 ui 对象

2024-02-24

我有一个被调用的按钮,我给了它一个UIGestureRecognizer这样一个IBAction仅当长按按钮时运行。您可以通过添加一个来做到这一点UILongPressGestureRecognizer到按钮本身。然后,您可以控制将该手势识别器拖动到如下函数:

 @IBAction func handleGesture(sender: UIGestureRecognizer) {
    if sender.state == UIGestureRecognizerState.Began
    {
        let labelTap1=UITapGestureRecognizer(target: self, action: "labelTapped:")
        let alertController = UIAlertController(title: "**I want this to be the title of the button**", message:
            "This is the description of the function you pressed", preferredStyle: UIAlertControllerStyle.Alert)
        alertController.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default,handler: nil))

        self.presentViewController(alertController, animated: true, completion: nil)
    }
}

正如你所看到的UIAlertController出现时,我希望标题显示按钮当前的标题。如果这个函数的发送者是按钮,我可以用sender.currentTitle。当函数的发送者是手势时,如何获取与手势绑定的按钮的标题。

我在 Objective C 中见过这样的帖子,但在 Swift 上却没有看到过类似的帖子。这都是为了让项目在长按按钮本身时获取按钮描述。


您可以通过其 view 属性获取对手势添加到的视图的引用。在本例中,您将其添加到按钮中,以便视图属性将返回按钮。

let button = sender.view as? UIButton
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UITapGestureRecognizer 发送者是手势,而不是 ui 对象 的相关文章

随机推荐

  • wxWidgets - 事件表与 Connect()?

    我刚刚开始使用 C 学习 wxWidgets 3 0 版 我已经注意到 wxWidgets 中的事件处理是由事件表完成的 但一篇教程也提到了 Connect 实际上它只是说 本教程将使用事件表 而不是 Connect 我想知道事件表和 Co
  • 在标点符号前动态添加 标签

    我正在尝试弄清楚如何添加
  • WPEngine 备份中 WordPress 项目中的 PHP 解析错误

    我继承了一个 Wordpress 项目 并且正在尝试对其进行设置 我对 WordPress 的经验为零 也可以说我对 PHP 的经验为零 到目前为止 我已经成功在本地计算机上设置了环境 但我遇到了 PHP 解析错误 无法通过谷歌搜索找到解决
  • 为什么我的 RxJS 倒计时时钟不显示?

    我正在开发一个 Angular 9 测验应用程序 我正在使用 RxJS 作为倒计时器 在container scoreboard time time component ts 中 并且计时器似乎没有显示 stopTimer 函数应在计时器停
  • Visual Studio 团队服务与 GitHub

    我正在寻找为我的内部 闭源 项目设置 CI 工作流程 我目前正在使用 GitHub 进行 git 问题跟踪 我的应用程序是桌面应用程序 没有云 服务器部署 因此工作流程应该是 在 github 上提交 master 通过以下方式通知 CIg
  • NullInjectorError:没有 InjectionToken DocumentToken 的提供者

    我正在为所有 Angular 5 项目设置一个通用库 库是 GitHub 存储库的克隆角度库入门套件 https github com zurfyx angular library starter kit 一切正常 直到我尝试使用HttpC
  • 使用配置文件启动redis-server

    我的配置文件位于 root config redis rb 我这样启动redis redis server 如何启动 redis 以便它使用我的配置文件 另外 我讨厌乱搞ps grep尝试找到一个 pid 来关闭它 如何通过 cd 进入根目
  • ReplaceWith 自动关闭标签

    我有 3 个 div 我想用另一个 div 的开始标签替换第一个 div 用结束标签替换第三个 div 这就是我的意思 div 1 div div 2 div div 3 div 当我尝试替换 使用replaceWith 第一个div时 d
  • YouTube 数据 API v3 允许浏览器应用密钥的引荐来源网址未按预期工作

    我正在努力尝试正确配置新的 YouTube Data API v3 我需要从 Google Chrome 扩展程序访问 API 我已经创建了一个 API 密钥Google API 控制台 https code google com apis
  • 提交按钮正在下载 php 而不是运行它

    我正在尝试为我的网站制作联系表单 但是当我按提交时 会下载 php 文件而不是运行 我正在使用 chrome 但我认为这并不重要 我认为存在语法错误 但我已经搞乱了删除 添加等内容 即使没有语法错误 它仍然会下载文件而不是运行它 而且 是的
  • 如果输入值为空,则使用 Javascript 指定值“空”

    所以我有一个输入字段 如果它是空白的 我希望它的值是 空 一词 但是如果输入了任何值 我希望该值是输入的值 我想为此使用 javascript 知道如何做到这一点吗 UPDATE 抱歉 我认为我解释得不太好 我的意思不是占位符文本 我的意思
  • Airflow Worker 没有监听默认的 RabbitMQ 队列

    我已经使用rabbitmq代理配置了Airflow 服务 airflow worker airflow scheduler airflow webserver 正在运行 没有任何错误 调度程序正在推动任务执行default兔子MQ队列 即使
  • JAVA Android APK发布模式错误无法下载kotlin-compiler.jar

    当我在发布模式下构建新的 APK 或生成签名的 APK 时 出现以下错误 无法下载 kotlin compiler jar com android tools external com intellij kotlin compiler 26
  • C# 中的开源 C 编译器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Qt中何时使用paintEvent和paintGL?

    我在用QOpenGL控件 https doc qt io qt 5 qopenglwidget html并且不明白我应该把绘图代码放在哪里 在覆盖的内部paintGL https doc qt io qt 5 qopenglwidget h
  • dict 子类中的自定义迭代行为

    我有一个类是标准字典的子类 class Result dict Dict like object with special methods def content self return self getitem content def a
  • SwiftUI navigationBarBackButtonHidden 未按预期工作

    我有一个问题navigationBarBackButtonHidden修饰符 它不会隐藏导航后退按钮 这是列表的源代码 import SwiftUI struct ContentView View State var showSheet f
  • 在 Django 上调试神秘的“错误:无法导入名称

    有时当我跑步时manage py我收到一条红色的神秘消息 上面写着Error cannot import name
  • 使用 GCC 构建最小的独立可执行文件

    我有几个程序 用 C 编写 实现一些算法 我用它们来测量计算时间 整个数据直接在代码中实现为静态库 这些程序没有输入和输出 也没有 C 库调用 没有 printfs 等 我想构建完全独立且最小的可执行文件 我不想将我的程序与 libgcc
  • UITapGestureRecognizer 发送者是手势,而不是 ui 对象

    我有一个被调用的按钮 我给了它一个UIGestureRecognizer这样一个IBAction仅当长按按钮时运行 您可以通过添加一个来做到这一点UILongPressGestureRecognizer到按钮本身 然后 您可以控制将该手势识