首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

选择UITableViewCell时,UIView backgroundColor消失

当使用UITableViewCell时,如果发现UIView的背景色消失,可能是因为UITableViewCell的选中样式或背景色与UIView的背景色相互干扰。以下是一些建议来解决这个问题:

  1. 设置UITableViewCell的选中样式为无样式:

在UITableView的代理方法中,设置UITableViewCell的选中样式为无样式:

代码语言:swift
复制
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    tableView.deselectRow(at: indexPath, animated: true)
}
  1. 设置UITableViewCell的背景色:

在UITableView的代理方法中,设置UITableViewCell的背景色为你想要的颜色:

代码语言:swift
复制
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
    cell.backgroundColor = UIColor.white
    return cell
}
  1. 设置UIView的背景色:

在UITableViewCell中,设置UIView的背景色为你想要的颜色:

代码语言:swift
复制
override func awakeFromNib() {
    super.awakeFromNib()
    self.contentView.backgroundColor = UIColor.white
}
  1. 设置UITableViewCell的选中背景色:

在UITableView的代理方法中,设置UITableViewCell的选中背景色为你想要的颜色:

代码语言:swift
复制
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    let selectedBackgroundView = UIView()
    selectedBackgroundView.backgroundColor = UIColor.lightGray
    cell.selectedBackgroundView = selectedBackgroundView
}
  1. 使用自定义的UITableViewCell:

如果以上方法都无法解决问题,可以考虑使用自定义的UITableViewCell,并在其中设置UIView的背景色。

希望这些建议能够帮助您解决问题。如果您有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS小技能: tableView section间距失效的解决方案

字体及背景色 为UITableViewCell设置预估高度 iOS 自定义UITableViewHeaderFooterView (替代titleForHeaderInSection) https:/...= [UIView new]; tmp.backgroundColor = self.tableView.backgroundColor; switch (section) {...(替代titleForHeaderInSection) II 为UITableViewCell设置预估高度 - (CGFloat)tableView:(UITableView *)tableView...: 1、发布商品选择商品类目 2、商户进件选择经营类目 3、购物类app下单界面的商品类目筛选 在发布商品的时候,选择类目界面的要求视图分为上下部分。...1、 上部分:展示已经选择的类目信息,并清晰的从上倒下罗列对应层级类目信息(悬浮),点击类目的时候,下部分的展示的类目信息切换为同级类目信息供选择

1.3K30
  • iOS常见问题总结(二)

    2: 默认点击tableViewCell后会出现灰色背景,并且不消失 解决方法: 1)点击UITableViewCell,没有点击效果,在cellForRowAtIndexPath:方法中写上 cell.selectionStyle...= UITableViewCellSelectionStyleNone; 2)点击UITableCell,Cell背景颜色不变,但是上面自定义的控件如:UILabel、UIImageView会变颜色...设置UILabel或UIImageView的Highlighted 然后 在cellForRowAtIndexPath:方法中写上 UIView *view_bg = [[[UIView alloc...]initWithFrame:cell.frame]autorelease]; view_bg.backgroundColor = [UIColor clearColor]; cell.selectedBackgroundView...恢复到以前的界面(恢复到Xcode6以前的界面,这个是为了习惯之前界面的人士): 通过取消Use Size Classes项并选择Disable Size Classes.如下图 ?

    83120

    MyLayout&TangramKit 的重大升级!

    那就是当添加或者删除子视图以及调整了某个子视图的位置和尺寸就需要重新调整父视图的自适应约束设置。...UIView *containerView = [UIView new]; containerView.translatesAutoresizingMaskIntoConstraints = NO...在上面的第1节中有介绍如何将一个容器视图的尺寸设置为自适应,而一般情况下在编写UITableViewCell的布局代码,都将所有的子视图添加到contentView这个视图中,因此要实现UITableViewCell...UIView *B = [UIView new]; B.translatesAutoresizingMaskIntoConstraints = NO; [S addSubView:B]; //A布局视图的约束设置...因为布局视图重载intrinsicContentSize方法,因此当将某个布局视图作为UITableViewCell的子视图如果想使用布局视图的尺寸自适应的能力,只需要将布局视图的尺寸设置为wrap即可

    2.1K20

    iOS开发中UITableViewCell点击子视图背景透明的解决方法

    iOS开发中UITableViewCell点击子视图背景透明的解决方法         在做iOS项目的开发中,UITableView控件的应用十分广泛。...在进行自定义UITableViewCell,经常有小伙伴遇到这样的问题:在UITableViewCell上面添加了一个有背景颜色的子视图,当用户点击UITableViewCell或者选中UITableViewCell...,Cell上的子视图发生了奇怪的变化,其背景色变透明了,如果添加在Cell上的子视图只是一个色块,那么我们看起来,这个子视图好像莫名其妙的消失了一样。...selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; self.testLabel.backgroundColor...)animated{ [super setHighlighted:highlighted animated:animated]; self.testLabel.backgroundColor

    1.3K30

    iOS下的界面布局利器-MyLayout布局框架

    而MyLayout则除了提供约束依赖外,还提供了根据视图添加顺序自动建立约束的功能,从而减少了这种显示依赖关系建立的问题,最终的结果是简化了布局的代码量,以及减少了布局更新的代码修改量。...只是一种相对约束的布局,而MyLayout除了同时提供具有和AutoLayout相同能力的相对布局外、还提供了线性布局、框架布局、表格布局、流式布局、浮动布局、路径布局7大布局体系,你完全可以根据你的界面需求来选择一种最简易的布局容器来实现你的功能...并提供了视图隐藏和显示时会自动激发布局、布局视图的高度自适应(UITableviewCell动态高度)、标签云实现、左右内容宽度自适应、按比例分配尺寸和间距、整体停靠控制等等各种强大的功能。...; A.backgroundColor = [UIColor greenColor]; B.backgroundColor = [UIColor blueColor]; C.backgroundColor...*A = [UIView new]; A.mySize = CGSizeMake(40,40); [S addSubview:A]; A.backgroundColor

    1.9K30
    领券