UITableViewCell滑动删除及移动

实现Cell的滑动删除, 须要实现UITableView的代理UITableViewDelegate中以下方法:spa

 

//先要设Cell可编辑代理

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPathit

{io

return YES;table

}class

 

//定义编辑样式方法

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPathim

{样式

[tableView setEditing:YES animated:YES];tab

return UITableViewCellEditingStyleDelete;

}

 

//进入编辑模式,按下出现的编辑按钮后

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

{

[tableView setEditing:NO animated:YES];

}

 

         如下方法能够不是必需要实现,添加以下方法可实现特定效果:

 

//修改编辑按钮文字

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath

{

return @"删除";

}

 

         实现Cell可上下移动,调换位置,须要实现UiTableViewDelegate中以下方法:

 

//先设置Cell可移动

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath

{

return YES;

}

 

//当两个Cell对换位置后

- (void)tableView:(UITableView*)tableView moveRowAtIndexPath:(NSIndexPath*)sourceIndexPath toIndexPath:(NSIndexPath*)destinationIndexPath

{

 

}

 

//设置进入编辑状态时,Cell不会缩进

- (BOOL)tableView: (UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath

{

return NO;

}

 

//在下面方法中添加 cell.showsReorderControl =YES;      

//使Cell显示移动按钮       

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath;

 

实现Cell的滑动删除, 须要实现UITableView的代理UITableViewDelegate中以下方法:

 

//先要设Cell可编辑

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath

{

return YES;

}

 

//定义编辑样式

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

{

    // 只在选中的cell上显示删除按钮

    NSIndexPath *path = [self.tableView indexPathForSelectedRow];

    if (path == indexPath) {

        [tableView setEditing:YES animated:YES];

    }

    return UITableViewCellEditingStyleDelete;

}

 

//进入编辑模式,按下出现的编辑按钮后

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

{

[tableView setEditing:NO animated:YES];

}

 

         如下方法能够不是必需要实现,添加以下方法可实现特定效果:

 

//修改编辑按钮文字

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath

{

return @"删除";

}

 

         实现Cell可上下移动,调换位置,须要实现UiTableViewDelegate中以下方法:

 

//先设置Cell可移动

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath

{

return YES;

}

 

//当两个Cell对换位置后

- (void)tableView:(UITableView*)tableView moveRowAtIndexPath:(NSIndexPath*)sourceIndexPath toIndexPath:(NSIndexPath*)destinationIndexPath

{

 

}

 

//设置进入编辑状态时,Cell不会缩进

- (BOOL)tableView: (UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath

{

return NO;

}

 

//在下面方法中添加 cell.showsReorderControl =YES;      

//使Cell显示移动按钮       

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath;

相关文章
相关标签/搜索