在表格进入编辑模式后,您知道如何在表格视图中显示某些单元格吗?就像编辑联系人时“iPhone”应用程序所做的那样。
也许我错了,但在编辑联系人时,它看起来像是使用了分组的UITableView。
我试过了:
[self.tableView setEditing:YES animated:YES];
[self.tableView insertSections:[NSIndexSet indexSetWithIndex:1] withRowAnimation:UITableViewRowAnimationBottom];
我的表在没有编辑时只有1个部分,我想在编辑时添加一个额外的部分(为了保持简单),但上面对'insertSections'的调用崩溃了(我的所有表委托都考虑了1或2个部分很好,取决于self.editing,我尝试在正常模式下显示两个部分,它工作正常)
对于'numberOfSectionsInTableView',我有:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
if (!self.editing) return 1;
return 2;
}
答案 0 :(得分:4)
你在哪里进入tableView的编辑状态?你应该在 - [UINavigationController setEditing:animated:]:
中进行- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing:editing animated:animated];
[self.tableView setEditing:editing animated:animated];
if(editing){
[self.tableView insertSections:[NSIndexSet indexSetWithIndex:1] withRowAnimation:UITableViewRowAnimationBottom];
} else {
// delete section
}
}
因此,不要在tableView上调用setEditing,而是在navigationController上调用它(可能是self
)然后控制器将处理编辑模式。
因此控制器具有编辑模式,而tableView具有。一旦以编程方式设置,或者当用户滑动以删除行时,tableView将处于编辑模式。在后一种情况下,控制器在编辑模式下不,但 tableView 。