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;

相關文章
相關標籤/搜索