现在的位置: 首页 > 综合 > 正文

iPhone表格中划动删除单元格

2013年09月04日 ⁄ 综合 ⁄ 共 1021字 ⁄ 字号 评论关闭

iPhone上的程序很多用表格UITableView来显示数据、做布局等。 当用UITableView显示数据是经常会需要删除、插入数据条目。 SDK提供两种删除UITableViewCell的方法

设置整个表格为编辑模式,如果没有做其他编辑风格(editing style),就会在每个单元格左面有一个圆形红色删除按钮,点击该按钮会在右边显示“Delete”按钮 deletion_control

在单元格上划动,会在划动的单元格右边显示“Delete”按钮, 这是SDK提供的快捷删除单元格的方法, 官方说法是 swipe to delete

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
}

当点击“Delete” 删除按钮是会发送该消息, 在此可以处理删除。 此外如果想在删除按钮显示前以及删除动作完成后调整布局, 可以在delegate中实现下面两个方法
//
- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
}
//
- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
}


需要注意的是,如果表格是在UIViewController里并且table的delegate是ViewController,
那么table必须是viewcontroller的view,而不是能是viewController
的view的一个子视图,比如在UIViewController的loadView实现中,以往会这么写
-(void) loadView
{
UIView* contentView = [[UIView alloc] initWithFrame:...];
self.view = contentView;
[contentView release];
tableView = [[UITableView alloc] initWithFrame:...];
// 初始化表格
[self.view addSubView: tableView];
}

【上篇】
【下篇】

抱歉!评论已关闭.