IOS uitableview单元格选中背景

Posted

技术标签:

【中文标题】IOS uitableview单元格选中背景【英文标题】:IOS uitableview cell selected background 【发布时间】:2011-12-08 10:02:30 【问题描述】:

我的 ios 应用程序中有一个 UItableview,其中包含一些信息。我使用以下代码将 Selected 背景颜色更改为 clearcolor:

UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:[UIColor clearColor]];
[cell setSelectedBackgroundView:bgColorView];
[bgColorView release];

单元格中有文本和 2 个图像,我使用 CGRectMake 构建了它。 但是当我选择并按住一个表格单元格时,图像会消失在看起来像白色背景的后面。

如您所见,我拿着“Dacnusa sibrica”细胞,我该如何解决这个问题?

【问题讨论】:

如何将图像添加到单元格中? 我正在使用 var1 = [[UIImageView alloc] initWithFrame:var2]; 添加图像和 [cell.contentView addSubview:var1]; 【参考方案1】:

如果您想禁用单元格的蓝色选择,您还可以设置单元格的选择模式而不是修改背景:

cell.selectionStyle = UITableViewCellSelectionStyleNone

这只是在点击单元格时禁用蓝色选择,但仍允许选择单元格(因此由代码处理)。

【讨论】:

【参考方案2】:

使用自动布局,可以在 Interface Builder 中定义 Selection=None(默认为灰色)。

【讨论】:

【参考方案3】:

你使用过 [cell.contentView addSubview:image] 吗? 使用 [tableView deselectRowAtIndexPath:indexPath animated:YES]; 用于取消选择单元格

【讨论】:

是的,我使用了 [cell.contentView addSubview:image],我在哪里放置 [tableView deselectRowAtIndexPath:indexPath animated:YES]; ? 现在可以使用 TriPhoenix 给我的代码,但感谢您的建议! ok...btw...我们在 selectedRowAtIndex 方法中使用 deselectRow.. 这样它就不会在单击后保持选中状态。

以上是关于IOS uitableview单元格选中背景的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 在 TableView 中间加载单元格。为啥?

UITableView 失去选中状态 iOS

iOS7.0中UITableView单元格背景的区别

iOS UITableView:更改表格的背景颜色会覆盖单元格的背景颜色

iOS UITableView 移除单元格选中时的高亮状态

uitableview 单元格背景的问题