Swift:如何使 UIView 在 UITableViewCell 中可点击?

2024-01-04

里面一个UITableViewCell,我正在尝试实现一个button与两个image and a text.

看来是标准UIButton无法实现这一点。所以我创建了一个UIView其中包含一个UIImageView and a UILabel.

您可以在右侧看到实现,“follow trip”按钮(“+”是 UIImageView,“follow trip”是 UILabel)

我现在正在尝试做这样的UIView(即按钮)可点击,但我找不到办法。

这是我的实现,但它不起作用:

class StationsIntroHeader: UITableViewCell {

    @IBOutlet weak var bigButton: UIView!

    override  func awakeFromNib() {
        super.awakeFromNib()
        let tap = UITapGestureRecognizer(target: self, action: Selector("followTrip:"))
        bigButton.addGestureRecognizer(tap)
    }

    func followTrip(sender:UITapGestureRecognizer) {
        print("tap working")
    }
}

我已经确定了启用用户交互为 ON 上UIView和关闭两个UIImageView and UILabel


对我来说,像下面这样的示例设置完全有效:

class TableViewController: UITableViewController {
  override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 5
  }

  override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    return tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath)
  }
}

class CustomCell: UITableViewCell {
  @IBOutlet weak var bigButton: UIView!

  override func awakeFromNib() {
    super.awakeFromNib()
    let tap = UITapGestureRecognizer(target: self, action: Selector("bigButtonTapped:"))
    bigButton.addGestureRecognizer(tap)
  }

  func bigButtonTapped(sender: UITapGestureRecognizer) {
    print("bigButtonTapped")
  }
}

我没有更改任何默认值userInteractionEnabled用于视图或图像视图或标签。将我的实现与您的实现进行比较,看看您是否忘记了某些内容...例如,您是否忘记了某些内容?连接插座?

示例项目:https://www.dropbox.com/sh/hpetivhc3gfrapf/AAAf6aJ0zhvRINPFJHD-iMvya?dl=0 https://www.dropbox.com/sh/hpetivhc3gfrapf/AAAf6aJ0zhvRINPFJHD-iMvya?dl=0

为您的项目进行编辑

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
  let headerCell = tableView.dequeueReusableCellWithIdentifier("StationsIntroHeader") as! StationsIntroHeader
  headerCell.update()
  return headerCell
  // return headerCell.update().contentView
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift:如何使 UIView 在 UITableViewCell 中可点击? 的相关文章

随机推荐

  • 减少寻找 N 线交点所需的时间

    有N水平或垂直的线段 现在我需要找出交点总数和每条线段的交点总数 N可以达到100000 我尝试检查每一对线 答案是正确的 但我需要减少它所花费的时间 这是我的代码 using namespace std typedef struct Po
  • 在 Android 中检查并启用磁传感器校准

    我在 Android 应用程序中使用磁传感器校准来实现增强现实 当应用程序长时间使用时 传感器校准会逐渐减少 有没有办法检查校准并自动启用或提示用户再次进行手动校准 不幸的是 对于 AR 类型的应用程序 我不知道如何知道磁传感器是否已正确校
  • Find_by_sql 作为 Rails 范围

    Sitepoint 的 r937 非常友善地帮助我找出从数据库返回正确结果所需的查询 我需要的是能够使用这个查询作为范围 并且能够将其他范围链接到这个范围上 查询是 SELECT coasters FROM SELECT order rid
  • JavaScript:“函数体后缺少 } 语法错误”

    好吧 你知道这个错误了 但是我到底为什么会收到这个错误呢 当它在本地运行时 我根本没有收到任何错误 但是当我上传我的项目时 我遇到了这个恼人的语法错误 我已经检查过Firebug https en wikipedia org wiki Fi
  • dplyr 和 tidyr - 使用因子一次性计算大量线性模型

    在阅读了 tidyverse 的更多内容后 我开始立即拟合许多线性模型 如中所述this https blog rstudio org 2016 02 02 tidyr 0 4 0 也就是说 我会按照以下方式做一些事情 library dp
  • 声明具有未知大小目标 c 的对象 X 的数组

    我将如何在 h 文件中声明一个未知大小的数组 我将在类内的 a 函数中计算该数组 例如 我可能有 20 或 30 个 NSArray 只是一个例子 不是我需要的 但是当第一次调用该类时我不会知道确切的数量 在实施文件中 id init if
  • iOS8 模拟器上缺少键盘?

    我正在模拟器中针对 iOS8 检查我的应用程序 令我困惑的一件事是 当我点击 UITextField 或 UITextView 时 键盘不会出现在屏幕上 我仍然可以使用硬件键盘输入文本 此外 如果输入元素具有 inputAccessoryV
  • 在 Makefile 中转义文件名中的冒号

    有没有办法让 GNU make 正确处理包含冒号的文件名 我遇到的具体问题恰好涉及模式规则 这是一个不依赖于剪切和粘贴制表符的简化版本 make version GNU Make 3 81 Copyright C 2006 Free Sof
  • Powershell:从 C# Web 应用程序运行脚本时,Set-ItemProperty 不起作用

    我有一个托管在 IIS 7 5 上的 C Web 应用程序 它运行 powershell 脚本来创建应用程序池和网站 如果我从命令提示符运行 powershell 脚本 它可以工作 但是当我通过 C 应用程序 Set ItemPropert
  • 以编程方式与 OS X 或 Linux 中的串行端口通信

    我有一个 Prolite LED 标牌 我喜欢将其设置为显示来自 apache 日志的滚动搜索查询和其他有趣的统计数据 问题是 我的 G5 没有串口 所以我必须使用 USB 转串口适配器 它显示为 dev cu usbserial 和 de
  • CoreData 问题:-[NSManagedObject setValue:]:无法识别的选择器发送到实例

    我昨天刚开始使用 CoreData 我快要疯了 我创建了一个使用 CoreData 的项目 勾选了框 使用 CoreData 创建了实体 然后为所有实体创建了 NSManagedObject 类 我想他们创建了实体的 setter 和 ge
  • Scala 与 Java 9 不兼容 - java.lang.NoClassDefFoundError

    在我的电脑上安装 Java 9 后运行一个示例 Scala SBT 项目 我就遇到了这个异常 我已经尝试了一些找到的解决方案 但一无所获 Java 9 和 Scala 之间是否存在不兼容的情况 斯卡拉版本 2 12 3 Java版本 jav
  • 如何返回导航堆栈?

    我的应用程序有 7 个后续视图控制器 VC1 VC7在我的导航栏中 我有一个带有操作的后退按钮 点击和长按 当在任何 VC 中长按后退按钮时 应用程序应转到 VC2 并呈现它 就好像用户从 VC1 转到 VC2 一样 具体来说 点击右后退按
  • 构建 ID 的测试结果

    作为计划构建的一部分 我运行并发布了多个具有不同测试运行标题的测试 我的场景是 在发布管道期间 我想获取为正在创建的版本的构建发布的每个测试运行标题的测试摘要 可以使用哪些 Azure DevOps API 或 API 组合来实现此目的 谢
  • 将光标传递到另一个活动是否安全?

    我正在尝试使用光标进行水平滑动 但我只是没有摸索某些东西 希望这里有人可以帮助我理解 我有一个显示项目列表的活动 它使用一个ListView由习俗支持CursorAdapter 并且该适配器由LoaderCallback 这都是标准的东西
  • 在Raspberry Pi上使用Selenium和Python登录zoom时出现错误401

    我正在学习使用 Selenium 我的目标是通过 Raspberry Pi 4 上的 python 程序打开 Zoom 运行粘贴的代码后 该程序按预期工作 打开放大浏览器 最大化窗口 选择并单击 登录 输入凭据 然后按 Enter 键 尝试
  • PARSE_DATETIME 格式化为一年中的某一天

    BigQuery 中与年份 j 格式设置元素一起使用的 PARSE DATETIME 函数存在问题 该函数似乎忽略了一年中的某一天元素 Eg select PARSE DATETIME Y j 2013243 returns 2013 01
  • PayPal API,寻找合适的 API

    我需要在我的网站中添加使用 PayPal 付款的选项 我想要一个 API 我可以在其中向 PayPal 发送信息并立即取回交易 ID 以便我可以将其保存在我的数据库中 哪种 API 最适合我 有没有办法做到这一点 我看到他们有这个清单 li
  • 使用 virtualenv 时在 pythonpath 中包含 Git 子模块

    我正在使用 Git 对 Django 项目进行版本控制 尽可能将所有不属于项目本身但项目所依赖的源代码作为 Git 子模块引入 这些生活在lib目录并且必须包含在 python 路径中 目录 文件布局如下所示 git docs lib my
  • Swift:如何使 UIView 在 UITableViewCell 中可点击?

    里面一个UITableViewCell 我正在尝试实现一个button与两个image and a text 看来是标准UIButton无法实现这一点 所以我创建了一个UIView其中包含一个UIImageView and a UILabe