1

我有一个错误,我花了太多时间在自己身上。基本上,我正在根据 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. 滚动表格视图后单元格的背景是表格视图的背景(我无法为单元格设置背景)。黄色视图是单元格背景顶部的视图,应该是绿色的。
  2. 如果我再次单击 iOS 模拟器调试“颜色”,黑色单元格就会消失。
  3. 我尝试将“突出显示”、“选定”颜色更改为随机颜色,但没有任何变化。仍然是一个黑细胞虫。
  4. 我已经对代码进行了三次检查,例如将单元格添加到错误的部分,所有这些似乎都是正确的。
  5. 当我使用默认的白色单元格(没有自定义笔尖)时,也会出现这个错误。
4

1 回答 1

1

问题是我在桌子顶部有一个视图。

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

该视图以某种方式导致表在更新时呈现完全错误。

于 2013-06-07T04:06:36.113 回答