iPhone - 选择后 UITableViewCell 白色

Posted

技术标签:

【中文标题】iPhone - 选择后 UITableViewCell 白色【英文标题】:iPhone - UITableViewCell white after selected 【发布时间】:2013-11-30 17:46:37 【问题描述】:

我的 UITableViewCell(静态单元格)在我选择后怎么可能再次变成白色?当我点击它时,它变成灰色并保持灰色!如果我点击它,它应该会在短时间内呈灰色。

谢谢

编辑

通常当您点击 UITableViewCell 时 - 单元格的背景颜色会在短时间内变为灰色。但我的问题出在我的应用程序中,当我点击单元格时,单元格的背景颜色保持灰色。而且我不知道如何解决这个问题。

【问题讨论】:

你能把你的问题说清楚吗? @MuthuRam ,我试图在我的编辑中更好地解释它 你在tableview单元格中使用了什么控制和手势 我只是使用 DidSelectRowAtIndexPath 方法 【参考方案1】:

您需要在didSelectRowAtIndexPath 方法中取消选择单元格。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    // do stuff

    [tableView deselectRowAtIndexPath:indexPath animated:YES];

【讨论】:

【参考方案2】:

对于 Swift 2.0+

每次点击 tableview 中的单元格时都会调用此 tableview 委托方法,它会为您提供用户点击的“indexPath”(本质上是用户点击的单元格)。在此方法的主体中,只需取消选择被点击的单元格,这会将其恢复为未选择状态。

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) 

     tableView.deselectRowAtIndexPath(indexPath, animated: true)

【讨论】:

【参考方案3】:

1) 为您的 tableview 设置以下代码

tableView.allowsSelection = false

2) 还要检查 tableview 单元格是否正确返回。有时人们不小心返回如下

   func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
    return UITableViewCell()

所以在这里仔细检查,你应该返回创建的单元格而不是 tableviewCell 实例

【讨论】:

以上是关于iPhone - 选择后 UITableViewCell 白色的主要内容,如果未能解决你的问题,请参考以下文章

iPhone - 选择后 UITableViewCell 白色

选择 Datalist 选项后,iPhone Go/Search 键盘提交在搜索表单上不起作用

iphone:需要在视图控制器中实现导航控制器,该控制器在选项卡栏中选择选项卡后出现

iphone开发者选项设置在哪

iPhone 4.3 的 Tableview 中的多个单元格选择

UITableViewCell 子类抛出一个无法识别的选择器发送到实例