簡單粗暴,一看就能明白 關於右滑cell,能滑出來兩個以上的選項欄,可以如下這麼做,但是要註意下麵的註意事項,就是關於iOS8前後的問題,註釋寫的很清楚了。可以直接複製到自己的代碼里看的會更明白。 ...
簡單粗暴,一看就能明白
關於右滑cell,能滑出來兩個以上的選項欄,可以如下這麼做,但是要註意下麵的註意事項,就是關於iOS8前後的問題,註釋寫的很清楚了。可以直接複製到自己的代碼里看的會更明白。
//允許cell可以進行編輯
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
return YES;
}
//cell的編輯類型
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete;
}
//可以不調用這個代理 預設是 Delete 編輯右滑出的title
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"刪除";
}
//iOS8 以前 只有一個刪除選項
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"點擊了刪除");
}
//iOS 8 以後 可以右滑出多個選項欄 就用這個代理方法,
- (nullable NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(8_0) __TVOS_PROHIBITED
{
UITableViewRowAction *delete = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"刪除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
NSLog(@"點擊了刪除");
}];
UITableViewRowAction *editing = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"編輯" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
NSLog(@"點擊了編輯");
}];
editing.backgroundColor = [UIColor Theme_Color];
//加入數組的第一個為最右邊的第一個 (可以添加多個)
return @[delete,editing];
}