【问题标题】:Button in Dynamic Tableviewcell Is Not Clickable动态 Tableviewcell 中的按钮不可点击
【发布时间】:2017-02-01 05:56:00
【问题描述】:

我之前也遇到过类似的问题,但这次问题的解决方案仍然无法解决。

所以我用原型单元格制作了一个动态表格视图,并放入了按钮(带有蓝色字母的灰色背景视图是按钮)。

问题在于,一旦模拟器启动,按钮就无法点击。我多次检查该问题与 isUserEnabled 无关,也与子视图的顺序无关(当我使用 3D 调试器检查时,按钮是层次结构中最高的)。

我猜这个问题可能来自动态单元格,但我觉得奇怪的是文本字段“Mastery to Add”会响应我的触摸,尽管按钮没有。

问题的根源是什么?

谢谢。

【问题讨论】:

  • 您检查过您的插座连接或按钮选择器吗?
  • 你如何验证按钮是否被点击?

标签: ios swift uitableview uibutton


【解决方案1】:

iOS6 之前

UITableViewCell>
   | <UITableViewCellContentView>
   |    | <UILabel>

iOS7之后

<UITableViewCell>
   | <UITableViewCellScrollView>
   |    | <UITableViewCellContentView>
   |    |    | <UILabel>

iOS7以后的按钮点击事件处理方式不同。

动态添加按钮动作如下:

cell.btn.tag = indexPath.row
cell.btn.addTarget(self, action: #selector(MainVC.buttonAction), for: UIControlEvents.touchUpInside)

【讨论】:

  • 感谢您的建议。我会试试看,然后回复你。虽然我有一个问题,但为什么我需要动态添加按钮操作?我也相信这可能是我的问题的解决方案,但我想知道为什么在使用情节提要添加 IBAction 不起作用时会起作用
  • 顺便说一句,你的建议奏效了。感谢您的帮助:)
  • @Daniel 默认情况下,表格视图有一个触摸事件。一个单元格的所有元素都可以通过一个单元格的触摸来识别。因此,如果您在单元格中使用按钮,则必须指定触摸事件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-23
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
  • 1970-01-01
相关资源
最近更新 更多