1

目前我有一个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 上没有任何反应。

有谁知道如何解决这些问题?

非常感谢任何帮助。

4

3 回答 3

2

显示的分隔符数量由 tableview 本身决定。如果你想删除一个分隔符,你会很困难。

一个选项是完全删除分隔符,并在每个单元格的底部包含您自己的分隔符,省略任何您不希望可见的分隔符。

于 2013-10-31T11:00:11.970 回答
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];
                }
            }
        }
于 2014-03-15T11:11:59.800 回答
0
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{        
    return [[UIView alloc] initWithFrame:CGRectZero];
}

在 iOS 7.0 中,如果表格视图部分的页脚高度不为零,则分隔符不会放置在该部分的最后一行,因此只需将空视图设置为所需部分的页脚,这将完成你的目标。对我来说效果很好。

奇怪的是,如果您使用 tableView:heightForFooterInSection: 为同一个页脚视图设置零高度,那么您将失去效果并且最后一个分隔符重新出现。一定要返回一个非零高度(例如“return 1”)。

不确定这是否适用于 iOS 6。不过,它与您的方法略有不同(节页脚与表格页脚)。

于 2014-06-06T07:38:16.843 回答