我有一个tableView,其中包含标签,图像和红色背景颜色的UIVIew。
这是我的tableView中的一行图片,其中显示了一个标签,图像和一个红色背景颜色的UIView
但每当我选择一个单元格时,UIVIew的背景颜色就会消失,我所能看到的只是标签和图像
当我选择它时,这是同一行
我想知道是否有办法阻止视图的背景颜色在选择单元格时消失。
答案 0 :(得分:0)
正在发生这种情况,因为单元格选择样式设置为默认值,将UITableViewCell
选择样式更改为无。
目标C:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
斯威夫特3:
cell.selectionStyle = .none
如果要通知用户已选择单元格,请维护包含indexpath对象列表的NSArray
属性。
更新委托方法didSelectRowAtIndexPath方法的NSArray
。
在cellForRowAtIndexPath方法中,如果NSArray
最后在didSelectRowAtIndexPath上重新加载选定的行。
答案 1 :(得分:0)
试试这个:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//Just add this below line didSelectRowAt
tableView.deselectRow(at: indexPath, animated: true)
}
答案 2 :(得分:0)
好一点。我从MBProgressHUD/Demo
中提取- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
});
}