【问题标题】:How to change UITableViewCell appearance if cellForRowAtIndexPath is not calling如果 cellForRowAtIndexPath 未调用,如何更改 UITableViewCell 外观
【发布时间】:2012-12-01 15:40:16
【问题描述】:

我的应用中有一个表格视图。表格视图单元格具有带有图案图像的背景。表格视图内容正在发生变化,有时只有两三个包含内容信息的单元格。表格视图会自动将其他单元格添加到屏幕底部。问题是这些单元格的背景很清楚,但我想让背景与其他单元格相同(带有图案图像)。通常我会更改 cellForRowAtIndexPath 中的单元格外观。但是表格视图不会为自动创建的单元格调用此方法。那么,有什么解决办法吗?

【问题讨论】:

  • 您可以通过在表格视图实例上调用cellForRowAtIndexPath: 来获取对单元格的引用。
  • 它将返回 nil,因为在形式上该索引路径没有单元格。正如我所说,这些单元格在不调用 cellForRowAtIndexPath 的情况下创建。如果您开始搜索某个联系人,您可以在手机的“通讯录”中看到它。如果只找到少数内容,则其他行将被清除。但是在这种情况下它会没问题,因为默认情况下单元格的背景是清晰的。
  • 那不是真的,如果我没记错的话。请尝试一下。
  • @H2CO3 cellForRowAtIndexPath: 只会返回可见单元格。
  • @AdamJohnson 是的。 OP 不是在这里讨论可见单元格吗?

标签: objective-c ios uitableview


【解决方案1】:

您可以在 viewDidLoad() 中执行此操作 self.searchDisplayController.searchResultsTableView.backgroundColor = [UIColor redColor]; // set your color for tableview here
这应该将搜索结果表格单元格着色为您喜欢的颜色。您可以调查的另一位代表是:
- (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
cell.backgroundColor = [UIColor redColor]; // your color here }

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    您是否尝试子类化您的 tableview 单元格并在初始化程序中设置它们的背景?

    【讨论】:

      猜你喜欢
      • 2012-08-20
      • 2013-11-21
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      相关资源
      最近更新 更多