iOS表格视图beginUpdates视觉错误,黑色单元格

时间:2013-06-03 15:22:55

标签: ios uitableview

我有一个错误,我花了太多时间在自己身上。基本上,我正在创建一个基于Apple文档的“手风琴”表视图: https://developer.apple.com/library/ios/#samplecode/TableViewUpdates/Listings/ReadMe_txt.html#//apple_ref/doc/uid/DTS40010139-ReadMe_txt-DontLinkElementID_3 代码的工作方式是,如果您点击表视图标题,则会调用代码以向该部分添加行。

唯一不同的是它适用于iOS 5,所以对于我的标题视图,我没有使用可重用的标题视图。

基本上,每次单击标题显示我的行时,通过[tableView beginUpdates] / [tableView endUpdates]添加/删除的单元格变为黑色。但是,如果我在之后滚动表格视图,它会恢复正常。

  

图片显示了这一点:http://imgur.com/a/B3lMu

我删除单元格的一些代码:

// GET THE SECTION INFO
SWDeviceSectionInfo *deviceSectionInfo = [self.deviceTableSectionInfo objectAtIndex:section];
// "CLOSE" THE SECTION
deviceSectionInfo.open = NO;

// CREATE INDEX PATHS FOR ROWS THAT NEED TO BE DELETED
NSMutableArray *indexPathsToDelete = [[NSMutableArray alloc] init];

for (int i=0;i<deviceSectionInfo.rowInfo.count;i++) {

    // CREATE INDEX PATHS FOR EACH ROW
    [indexPathsToDelete addObject:[NSIndexPath indexPathForRow:i inSection:section]];
}

// APPLY THE ROW INSERTIONS
[self.deviceTableView beginUpdates];
[self.deviceTableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:UITableViewRowAnimationBottom];
[self.deviceTableView endUpdates];

一些额外的说明:

  1. 滚动表视图后单元格的背景是表视图的背景(我无法为单元格设置BG)。黄色视图是细胞背景的TOP视图,应该是绿色。
  2. 如果我再点击iOS模拟器调试“颜色”,则黑色单元格会消失。
  3. 我尝试将“突出显示”,“选定”颜色更改为随机颜色,没有任何变化。仍然是一个黑细胞虫。
  4. 我已经对代码进行了三次检查,例如将单元格添加到错误的部分,所有这些看起来都是正确的。
  5. 当我使用默认的白色单元格(没有自定义笔尖)时,也会出现错误。

1 个答案:

答案 0 :(得分:1)

问题是我在桌面上有一个观点。

更具体地说,视图具有清晰的彩色背景和阴影,因此它会形成“内部阴影”。

该视图SOMEHOW导致表在更新时呈现完全错误。

相关问题