从未使用的UITableViewCells中删除分隔符

时间:2014-06-24 17:35:05

标签: ios objective-c uitableview

我在UITableView方法中使用自定义单元格tableView:numberOfRowsInSection:,使用数据源数组中对象的计数。

-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 

    return [self.myArray count];
}

当我运行应用程序并显示列表时,除了一件事之外,一切都很完美。例如,如果我在数组中有4个对象,则表视图显示具有正确内容的4个单元格,但是我看到即将出现的空单元格,因为它们具有分隔符。所以我想删除显示内容的最后一行之后的每个分隔符。我不明白为什么会发生这种情况,因为我认为单元格的数量应该等于数组最初的计数。

5 个答案:

答案 0 :(得分:0)

我从未见过这样做的正确方法,但我可以想到一个不太糟糕的解决方法,并且绝对不会违反Apple的任何限制。您可以将tableView的tableFooterView设置为纯白色(或适当样式)视图,具有适当的高度(屏幕高度 - 4 * cellHeight)。

答案 1 :(得分:0)

这可能会解决您的问题:

(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}

答案 2 :(得分:0)

如果您的单元格是自定义单元格,则在单元格内容视图底部添加一个UIView,其高度为1px,宽度与具有某种颜色的单元格相同,就像分隔符一样,然后添加以下代码以避免表视图单元格分隔符如:

 [tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

答案 3 :(得分:0)

你必须将0设置为你的页脚大小才能清除那些" ghost"细胞

self.myTable.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

答案 4 :(得分:0)

您也可以使用,

Meteor.users.find({ "course_learn_list.class_id": classId }, 
    { "course_learn_list.$": 1, "emails.address": 1 }).fetch()