iOS UITableView单元格选中背景。

3

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

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

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

输入图像描述

正如你所看到的,我正在拿着“Dacnusa sibrica”单元格,我该怎么解决这个问题?


你如何将图片添加到单元格中? - Dennis Bliefernicht
我正在使用 var1 = [[UIImageView alloc] initWithFrame:var2]; 和 [cell.contentView addSubview:var1]; 添加图片。 - Daniel
3个回答

15

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

cell.selectionStyle = UITableViewCellSelectionStyleNone

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


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


-1

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


是的,我使用了[cell.contentView addSubview:image],那么我应该把[tableView deselectRowAtIndexPath:indexPath animated:YES];放在哪里? - Daniel
现在它可以工作了,使用TriPhoenix给我的代码,但还是感谢你的建议! - Daniel
好的...顺便说一下...我们在selectedRowAtIndex方法中使用deselectRow,这样它在被点击后就不会保持选中状态了。 - nikita21

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接