1. 程式人生 > >iOS開發:UITableView實現側滑刪除cell的功能

iOS開發:UITableView實現側滑刪除cell的功能

       總結了一下UITableView的代理方法的使用情況,介紹一下UITableView實現側滑刪除cell的功能,只要實現了刪除cell的幾個代理方法,就可以輕而易舉的實現側滑刪除的效果。這裡只介紹cell的側滑刪除的幾個代理方法,不再介紹怎麼展示cell資料等代理方法。

       1.首先設定cell可以編輯

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

    return YES;

}

        2.設定編輯的樣式

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

    return UITableViewCellEditingStyleDelete;

}

        3.修改編輯按鈕文字

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

    return @"取消收藏";  //我這裡需要設定成“取消收藏”而不是“刪除”,文字可以自定義

}

        4.設定進入編輯狀態的時候,cell不會縮排

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

    return NO;

}

        5.點選刪除的實現。特別提醒:必須要先刪除了資料,才能再執行刪除的動畫或者其他操作,不然會引起崩潰。

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

    //實現刪除操作

    LiveCollectionModel *collectionModel = _dataArray[indexPath.row];

    LiveUserModel *user = [LiveLocal user];

    [MBProgressHUD showMessage:@"" inView:self.view mode:MBProgressHUDModeIndeterminate withBlock:^(MBProgressHUD *hud) {

        [KingHttpTool POST:Mine_DelCollect_Url

                    params:@{@"token":user.token,

                             @"collect_id":collectionModel.collect_id

                             }

                   success:^(id responseObject) {

                       NSInteger status = [[responseObject valueForKey:@"status"] integerValue];

                       NSString *msg = [responseObject valueForKey:@"msg"];

                       if (status == 1) {

                           [hud hideWithSuccess:msg completionBlock:^{

                               //刪除資料,和刪除動畫

                               [_dataArray removeObject:collectionModel];

                               [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationTop];

                           }];

                       }else {

                           [hud hideWithFailure:msg completionBlock:nil];

                       }

                   } failure:^(NSString *errorMsg) {

                       NSLog(@"%@",errorMsg);

                   }];

    }];

}


相關推薦

iOS開發UITableView實現刪除cell功能

       總結了一下UITableView的代理方法的使用情況,介紹一下UITableView實現側滑刪除cell的功能,只要實現了刪除cell的幾個代理方法,就可以輕而易舉的實現側滑刪除的效果。這裡只介紹cell的側滑刪除的幾個代理方法,不再介紹怎麼展示cell資料等

iOS開發UITableview的多選功能實現

一、 先看效果: 最近專案中要運用即時通訊實現群組功能, 在建立群時需要選擇新增多個成員: 二、思路: 第一次點選cell選中, 再次點選取消選中; 三、方法: 只需要設定兩個屬性, 操作兩個方法即可; 1、UITableview 自帶多選功能: //允許多選 _

Android開發之仿QQ刪除實現(二)

一、把SlideDelete的簡單樣式先做出來。 SlideDelete繼承自ViewGroup,在引用SlideDelete的xml的位置include進兩個layout,一個是內容,一個是刪除 一、1、準備兩個佈局 內容部分 <?xml version="1.

RecycleView實現刪除item

以及 urn 接口 add 是個 pre ack 編寫 ner 對於列表空間的側滑操作,網上有很多開源的空間可以使用,Google在它的新控件RecycleView中增加了側滑的API,完全遵循Material Design設計規範,下面看看效果演示: 下面看

ios開發怎麼實現點選一個按鈕,跳轉到一個新的介面,並回退到上一介面

iOS三種檢視切換的原理各不相同:UITabBarController:以平行的方式管理檢視,各個檢視之間往往關係並不大,每個加入到UITabBarController的檢視都會進行初始化即使當前不顯示在介面上,相對比較佔用記憶體。UINavigationControlle

RecyclerView 實現刪除和拖動排序

在使用ListView的時候實現拖動排序,主要靠繼承別人第三方的,在網上有很多例子, 這裡不介紹,主要是介紹一下recycleview的拖動排序和滑動刪除 一、主要知識點:             1、 ItemTouchHelper.Callback的使用        

Android RecyclerView實現刪除

距上次寫部落格有半年多了,回憶起來都覺得不可思議,中間也想憋倆大招,總是被耽誤,這倆月忙完之後,終於空下來了,恰好新專案我和UI倆人商量一下,用MD來實現app。中間有個需求是RecyclerView中側滑顯示刪除按鈕,點選刪除。於是就有了這篇部落格。 一

iOS開發UI篇--一個選單SlidingMenu

一、簡介 側滑選單已經成為app一個極常用的設計,不管是事務類,效率類還是生活類app。側滑選單因Path 2.0和Facebook為開發者熟知,國內目前也有很多流行app用到了側滑選單,比如QQ、網易郵箱、知乎等等。IOS官方並沒有提供類似於側滑欄之類的元件,所以

iOS開發 指定頁面關閉右手勢返回功能

有時候我們在指定頁面不需要右滑動手勢返回頁面,那麼在指定頁面新增一下程式碼,就能實現該功能 **- (void)viewDidAppear:(BOOL)animated { [super

[android]手把手通過一個類實現退出activity功能

1、概述 *本文程式碼 非原創 來自於 一個 叫做NBAPlus的開原始碼中.https://github.com/SilenceDut/NBAPlus 有興趣的小夥伴們可以好好去了解下,推薦下,真™可以的~ 2、簡單描述下,所謂側滑退出功

iOS開發,tableView刪除實現,或者新增多個顯示按鈕

如果想要實現簡單的刪除操作,1 + 2 + 4方法就可以實現 ,如果你要滑動出現多個操作按鈕的話,就要實現方法5了,第五個方法說白了就是集合了前幾個方法,而且可以新增多個按鈕,如果用第5個方法,1、2、4方法可以不實現 //1 - (BOOL)tableView:(UITa

iOS開發技術之實現tableView左刪除的三種操作方式

bject 新名字 app alert ecan sage LEDE dev ati p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #000000; background

iOS解決UICollectionView下巢狀UITableView多個列表時返回失效及cell刪除失效的問題

解決問題:UICollectionView下巢狀UITableView作為多個列表時側滑返回失效及cell側滑刪除失效的問題繼承自UICollectionView:@implementation XYCollectionView // 是否允許同時支援多個手勢,預設是不支援多個手勢 // 返回yes表示支援多

Android模仿iOS實現返回(類似微信)

actionbar fin kth ins any lean blog 模仿 over 我們都知道側滑返回操作是 iOS 裏面比較常見的功能,一般是手指在靠近手機屏幕左邊緣向右滑動就可以關閉當前的界面,iOS 系統提供了這樣的 API,但是 Android 怎麽實現呢? 網

iOS tableView刪除的第三方控件

constant model pre exp alt 需要 use lec nor (到我的文件中,下載“tableview中cell測滑刪除的第三方控件”),使用方法如下: 在tableView中的.m中,設置cell的方法上,事例代碼如下,其中,EaseConversa

iOS開發UI篇—實現UITableview控件數據刷新

ani titles plist文件 mes 模型 source dequeue intro 自動 iOS開發UI篇—實現UITableview控件數據刷新 一、項目文件結構和plist文件 二、實現效果 1.說明:這是一個英雄展示界面,點擊選中行,可以修改改行英雄的名稱

關於IOS11上UItableview刪除無線拉伸的問題

再iOS11上uitableview側滑可以無限拉伸解決辦法,iOS11多了一個方法,直接上程式碼: - (nullable UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActi

SwipeMenuListView實現類似於QQ刪除效果

前言:最近,因為專案需要實現刪除功能,為了美觀採用了類似於QQ的那種側滑刪除效果,使用的是SwipeMenuListView的開源控制元件,現將使用方法記錄分享一下,有興趣的童鞋可以看看。效果如下圖: 1、新增依賴 方法1:下載開源庫程式碼,將程式碼複

仿QQ實現效果和刪除、置頂功能——ListView版

我儘量不打錯別字,用詞準確,不造成閱讀障礙 高仿QQ側滑效果,實現置頂、刪除功能,完美適用於ListView,至於RecyclerView正在研究,效果有些問題。 本側滑很簡單,只有右側的側滑,並沒有其他酷炫的功能,希望給大家一個提示思路,如果需求簡單的話

SlidingMenu實現微商城開發找捌躍科技

/** Mactivity */ package xixinxin.bawie.com.slidingmenu_study.activity; import android.os.Bundle; import android.support.v4.app.F