更改 UITableViewRowAction 内的单元格背景颜色
Posted
技术标签:
【中文标题】更改 UITableViewRowAction 内的单元格背景颜色【英文标题】:change cell background color inside of 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()
...当然,代码稍后会继续关闭。除了颜色变化外,一切都按预期工作。
【问题讨论】:
你检查过这个答案吗:***.com/a/19238919/558933 【参考方案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
的方法。以上是关于更改 UITableViewRowAction 内的单元格背景颜色的主要内容,如果未能解决你的问题,请参考以下文章
iOS 8:从 UITableViewRowAction 中删除下划线
iOS 11 中的 UITableViewRowAction 太宽