UITableView页眉和页脚在编辑模式下缩进

时间:2014-11-09 16:03:57

标签: ios objective-c xcode uitableview

我在故事板中有一个带有三个Cell Prototype的UITableView,我在标题部分使用一个单元格,一个用于普通表格行,另一个用于表格页脚。

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    static NSString *CellIdentifier = @"Header";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    //some personalization
    return cell;
}

我的问题是每当我进入tableview的编辑模式时,页眉和页脚都向左移动,就像当前正在编辑的单元格一样。

- (void) setEditing:(BOOL)editing animated:(BOOL)animated {
    [super setEditing:editing animated:animated];
    [self.tableView setEditing:editing animated:animated];
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
    return YES;
}

before

在编辑模式下:

after

任何解决方案或提示? 最后一次XCode更新都没有修复它。

谢谢

3 个答案:

答案 0 :(得分:3)

解决。基本上我必须创建一个UIView并使用它作为我的页眉/页脚,而不是使用UITableViewCell。

感谢

Table Header Views in StoryBoards

Stick UITableView header view to top when creating header in storyboard

答案 1 :(得分:3)

在此过程中,我发现使用tableViewCell完全正常,您只需返回单元格contentView,并在编辑完成时删除标题。

答案 2 :(得分:0)

我解决了“移动”标题的问题,创建了一个带有UIView而不是UITableViewCell的标头。您可以通过简单地将UIView拖到UITableView来实现它,它将把它放在原型单元格之上/之间。然后,您可以将其视为并在Interface Builder中查看。您可以为它创建一个控制器,但是使用tag然后使用tableView.viewWithTag(tag)会更快更容易。希望它有所帮助!