设置TableView可编辑

设置TableView可编辑 (2011-01-19 09:00:53) 设置TableView可编辑
文章图片
转载
关键词:对tableView进行增、删操作 1.设置tableView可编辑 RootViewController.m [self.navigationItem setRightBarButtonItem:[self editButtonItem]];

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
[tableView setEditing:editing animated:animated];
}


TestTableViewController.m

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
}


也可以直接设定rootViewController可编辑
RootViewController.m
[self setEditing:YES animated:YES];


设置tableView可编辑的行

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}



//设置可移动标志,操作每个cell是否可被移动
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == [_books count])
{
return NO;
}
return YES;
}




增加或删除

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == [_books count])
{
return UITableViewCellEditingStyleInsert;
}

return UITableViewCellEditingStyleDelete;
【设置TableView可编辑】 }


完成编辑

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if(editingStyle == UITableViewCellEditingStyleInsert)
{
//插入一条新条目的时候,会更新numberOfRowsInSection 方法,并且 运行一次cellForRowAtIndexPath,生成一个新增的cell
Book *book = [[Book alloc] initWithISBN:@"999" name:@"New Book" cover:nil];
[_books insertObject:book atIndex:indexPath.row];
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationRight];

}
else if(editingStyle == UITableViewCellEditingStyleDelete)
{
//删除一条条目时,更新numberOfRowsInSection
[_books removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationBottom];
}
}

    推荐阅读