代码之家  ›  专栏  ›  技术社区  ›  Son Nguyen

如何子类UITableViewCell并使用它来不清除选中的UITabeViewCell上的UILabel背景色?

  •  4
  • Son Nguyen  · 技术社区  · 15 年前

    在我的应用程序中,我使用一个标签来显示特定的颜色,通过在自定义的背景色中设置背景色 UITableViewCell (因为此颜色可能会根据来自Internet的输入数据而改变),在viewdidLoad之后,一切都正常,但是当选中(突出显示)此单元格时,颜色将被清除。

    在搜索之后,我发现有些人必须将 UITababVIEW单元格 重写 setHighlight 方法不清除标签背景色。我试过了,但不走运。

    有人知道怎么做吗?子类的正确方法 UITababVIEW单元格 ,然后在 UITableViewController 不清除标签背景色?请帮帮我。

    谢谢你的建议。

    3 回复  |  直到 12 年前
        1
  •  5
  •   petert    15 年前

    从最新 UITableViewCell 文档:

    注意:如果要更改单元格的背景色(通过uiview声明的background color属性设置单元格的背景色),必须在委托的TableView:WillDisplayCell:ForRowAtindexPath:方法中进行,而不是在数据源的TableView:CellForRowAtindexPath:中进行。对组样式表视图中单元格背景色的更改在iOS 3.0中具有不同于以前版本的操作系统的效果。它现在影响圆角矩形内的区域,而不是圆角矩形外的区域。

    同时,回顾 Table View Programming Guide for iOS 对于一些最好的文档。

        2
  •  3
  •   Nick    12 年前

    覆盖单元的-(void)layoutSubview 在那里设置label.backgroundcolor。 那是我的工作

        3
  •  1
  •   Community CDub    8 年前

    您要么重写视图,要么使用uiImageView。见 UITableViewCell subview disappears when cell is selected 更多信息。