目前我有UITableView
。我想删除最后一个单元格的最后一个分隔符。
我是这样做的:
UIView *footerN = [[UIView alloc] initWithFrame:CGRectMake(0, 0, _tblStateGaisou.frame.size.width, 10)];
[footerN setBackgroundColor:[UIColor clearColor]];
tblStateNaisou.tableFooterView = footerN;
这仅适用于iOS 7,iOS 6上没有任何内容。
有谁知道如何解决这些问题?
非常感谢任何帮助。
答案 0 :(得分:2)
显示的分隔符数由tableview本身决定。如果你想删除一个分隔符,你就会很难。
一个选项是完全删除分隔符,并在每个单元格的底部包含您自己的分隔符,省略任何您不希望看到的分隔符。
答案 1 :(得分:1)
适用于iOS 7.1
if(indexPath.row == (arrayWithData.count - 1))
{
NSArray *subViews = [[[cell subviews] lastObject] subviews];
for (UIView *view in subViews)
{
if([NSStringFromClass(view.class) isEqualToString:@"_UITableViewCellSeparatorView"]) {
[view removeFromSuperview];
}
}
}
答案 2 :(得分:0)
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
return [[UIView alloc] initWithFrame:CGRectZero];
}
在iOS 7.0中,如果表视图部分的页脚高度为非零,则不会在该部分的最后一行放置分隔符,因此只需将空视图设置为所需部分的页脚即可这将实现你的目标。对我来说很棒。
奇怪的是,如果使用tableView:heightForFooterInSection为同一个页脚视图设置高度为零,则会丢失效果并重新显示最后一个分隔符。请务必返回非零高度(例如"返回1")。
不确定这是否适用于iOS 6.但它与您的方法略有不同(部分页脚与表格页脚)。