【发布时间】:2012-02-27 03:25:57
【问题描述】:
我有一个UITableView 和UITableViewCells 是可滑动的。滑动单元格时,我希望在该单元格下方可见(显示)视图。这是我的代码:
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
_cellBack = [[UIView alloc] initWithFrame:CGRectMake(0, cell.frame.origin.y, cell.frame.size.width, cell.frame.size.height)];
_cellBack.backgroundColor = [UIColor whiteColor];
[self.tableView insertSubview:_cellBack belowSubview:cell];
for (int i = 0; i < [self.tableView subviews].count; i++) {
UIView *v = [[self.tableView subviews] objectAtIndex:i];
if ([v isEqual:_cellBack]) {
NSLog(@"cellBack %d", i);
}
if ([v isEqual:cell]) {
NSLog(@"cell %d", i);
}
}
在for 循环中,我检查视图的索引是否符合我的预期,并且确实如此; _cellBack 的索引比 cell 的索引小一。
当我用insertSubview:aboveSubview: 替换insertSubview:belowSubview: 调用时,它可以正常工作(尽管白色UIView 出现在滑动单元格上方),所以这不是没有正确分配_cellBack 的问题。我也试过insertSubview:atIndex:,但也没有用..
这可能是什么原因造成的?
谢谢!
【问题讨论】:
-
您是否尝试 A) 在指定单元格下方(例如下方)插入新视图,以便您的新视图和表格单元格一层层叠加;或者您是否尝试 B) 为您的表格插入一个新行,这样如果表格在您的代码运行后的开头有三个单元格,它将有四个?
-
我正在尝试将其添加到单元格下方。不过,这不是我要添加的新行。
-
那么可能是您成功添加了子视图,但是由于它与表格单元格大小相同且位置相同,因此您看不到它,因为表格单元格位于顶部它并完全隐藏它?
标签: iphone objective-c ios uitableview uiview