【问题标题】:change cell background color inside of UITableViewRowAction更改 UITableViewRowAction 内的单元格背景颜色
【发布时间】:2015-12-04 18:09:45
【问题描述】:

我正在使用 UITableViewRowAction 在 iOS Swift 2 中编辑表格。如果他们在动作按钮弹出后选择动作,我希望整个单元格的当前背景(不是按钮弹出窗口)改变颜色。我尝试使用 dequeueReusableCellWithIdentifier 访问它,但没有任何反应。

let share = UITableViewRowAction(style: .Normal, title: "Showed Up?") { (action, indexPath) in

let cell = tableView.dequeueReusableCellWithIdentifier("secondtableCell", forIndexPath: indexPath) 
cell.backgroundColor = UIColor.redColor()

...当然,代码稍后会继续关闭。除了颜色变化外,一切都按预期工作。

【问题讨论】:

标签: ios swift2 uitableviewrowaction


【解决方案1】:

您是否在ViewDidLoad 方法中注册了该类?如果没有,请继续执行此操作并告诉我您得到了什么。

self.tableViewController.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell")

【讨论】:

  • 感谢@Mihado,对这里的延误表示歉意。 (实际上我同时摔断了肩膀(锁骨)!)。如果我把你的代码放在 ViewDidLoad 的开头,它会弄乱其他东西,并且会阻止表格在每个单元格中显示必要的信息。加上我正在寻找的背景颜色变化也没有发生。如果我把它放在我当前的代码中,它不会弄乱任何东西,但它仍然不会改变背景颜色。
  • 哦!我对此感到非常抱歉,我希望你很快就会好起来。 Chaim,您应该在配置表格视图后尝试放置此代码,最好放在 viewDidLoad 中的最后一行。当您复制并粘贴我留下的代码 sn-p 时,请确保您添加的是视图控制器的名称和单元格标识符,而不是我的,它们可能不同。如果这不起作用,我们可以去聊天。
  • 我让它按预期工作了。而不是使用:dequeueReusableCellWithIdentifier 我只使用cellForRowAtIndexPath 并且它可以工作。谢谢大家
  • 在你的 cellForRowAtIndexPath 中,你需要实现 tableview.dequeueReusableCellWithIdentifier 来重用现有的单元格。我很快就会发布一个代码sn-p
  • 我已经在一个单独的函数中拥有它,我在其中创建单元格。现在一切正常。我现在正在处理的这个函数内部不需要更多的东西,使用的是:editActionsForRowAtIndexPath 。我所需要的只是一种获取我正在编辑的特定单元格的方法,这就是我需要cellForRowAtIndexPath 的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-24
  • 2013-04-12
  • 2021-10-31
  • 2016-05-27
  • 1970-01-01
相关资源
最近更新 更多