从堆栈弹出后,UITableViewCellSeperator的问题再次出现

时间:2014-01-22 03:37:25

标签: uitableview ios7 uinavigationcontroller

我有一个将动态数据加载到tableview中的应用程序。当只有一个项目(因此只有一个单元格)时。为了确保UITableViewCellSeperator没有出现在这个项目中我使用此代码:

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {

    // This will create a "invisible" footer
    return 0.01f;

}

这可以按预期工作,这是我的单元格的样子:

Cell with no issue

正如您所看到的,这可以按预期工作,并且没有单元格分隔符。

当我选择单元格并显示我的详细视图然后点击后退按钮时,单元格会因某种原因添加分隔符。一旦我在堆栈中导航,这就是单元格的样子:

Cell with issue

您会注意到分隔符现在比标准分隔符宽。如果我的tableview中有多个单元格,则tableview中的最后一个单元格将以相同的方式运行。

当我删除上述方法时,问题已修复,但现在我的tableview为空单元格提供了一个额外的分隔符TON。有更好的解决方案吗?

这是我的cellForRowAtIndexPath方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"searchCell";
    UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (!cell)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
    }

    // Configure the cell...

    cell.backgroundColor = [UIColor PFBlack];

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    cell.textLabel.font = [MuseoSans font500WithSize:16.0f];
    cell.textLabel.textColor = [UIColor whiteColor];
    cell.textLabel.text = @"Current Location";


    return cell;

}

知道是什么导致了这个问题吗?或者我做错了什么?谢谢!

2 个答案:

答案 0 :(得分:0)

这应该删除你的额外细胞分离器:

tableVie.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

source

答案 1 :(得分:0)

你可以通过以下两种方式来做到这一点

首先是

[self.tbl setSeparatorStyle:UITableViewCellSeparatorStyleNone];

其次是

将您的tableview属性从“默认”更改为
enter image description here
“无” enter image description here