UITableView 自帶編輯刪除

2021-07-12 07:28:48 字數 3205 閱讀 1264

一:uitableview 自帶編輯刪除

1:實現兩個方法即可

#pragma mark tableview自帶的編輯功能

-(void)tableview:(uitableview *)tableview commiteditingstyle:(uitableviewcelleditingstyle)editingstyle forrowatindexpath:(nsindexpath *)indexpath

_attentiontableview.editing = !_attentiontableview.editing;

//刪除店鋪收藏

[goods_bll deletecollectshopwithstoreid:[collectshopary[indexpath.row] objectforkey:@storeid] anduid:useruidstr success:^(id json) faile:^];

}#pragma mark 選擇編輯的樣式

-(uitableviewcelleditingstyle)tableview:(uitableview *)tableview editingstyleforrowatindexpath:(nsindexpath *)indexpath

2:實現這兩個方法實現自帶的刪除,此時刪除按鈕為英文delete ,如果想改變內容,變成中文刪除或是別的內容,需要實現下面的方法

#pragma mark 中引文轉換-delete

-(nsstring *)tableview:(uitableview *)tableview titlefordeleteconfirmationbuttonforrowatindexpath:(nsindexpath *)indexpath

3:**

* tableview:editactionsforrowatindexpath: 

// 設定滑動刪除時顯示多個按鈕

* uitableviewrowaction 

// 通過此類建立按鈕

* 1. 我們在使用一些應用的時候,在滑動一些聯絡人的某一行的時候,會出現刪除、置頂、更多等等的按鈕,在ios8之前,我們都需要自己去實現。but,到了ios8,系統已經寫好了,只需要乙個**方法和乙個類就搞定了

* 2. ios8的協議多了乙個方法,返回值是陣列的tableview:editactionsforrowatindexpath:方法,我們可以在方法內部寫好幾個按鈕,然後放到陣列中返回,那些按鈕的類就是uitableviewrowaction

* 3. 在uitableviewrowaction類,我們可以設定按鈕的樣式、顯示的文字、背景色、和按鈕的事件(事件在block中實現)

* 4. 在**方法中,我們可以建立多個按鈕放到陣列中返回,最先放入陣列的按鈕顯示在最右側,最後放入的顯示在最左側

* 5. 注意:如果我們自己設定了乙個或多個按鈕,系統自帶的刪除按鈕就消失了...

*/#pragma mark 在滑動手勢刪除某一行的時候,顯示出更多的按鈕

- (nsarray *)tableview:(uitableview *)tableview editactionsforrowatindexpath:(nsindexpath *)indexpath];

// 刪除乙個置頂按鈕

uitableviewrowaction *toprowaction = [uitableviewrowactionrowactionwithstyle:uitableviewrowactionstyledefault title:@置頂handler:^(uitableviewrowaction *action, nsindexpath *indexpath) ];

toprowaction.backgroundcolor = [uicolor bluecolor];

// 新增乙個更多按鈕

uitableviewrowaction *morerowaction = [uitableviewrowactionrowactionwithstyle:uitableviewrowactionstylenormal title:@更多handler:^(uitableviewrowaction *action, nsindexpath *indexpath) ];

morerowaction.backgroundeffect = [uiblureffecteffectwithstyle:uiblureffectstyledark];

// 將設定好的按鈕放到陣列中返回

return @[deleterowaction, toprowaction, morerowaction];

}字數329

閱讀1484

喜歡17

當uitableview進入編輯模式,在進行左滑操作的cell的右邊,缺省會出現delete按鈕,如何自定義左滑出現的按鈕呢?

只需要實現uitableview下面的這個**方法。

- (nsarray

*)tableview:(uitableview *)tableview editactionsforrowatindexpath:(nsindexpath *)indexpath

];    uitableviewrowaction *deleteaction = [uitableviewrowaction rowactionwithstyle:uitableviewrowactionstyledefault title:@"刪除" handler:^(uitableviewrowaction * _nonnull action, nsindexpath * _nonnull indexpath) ];    return @[deleteaction, likeaction];

}

此時左滑就會出現兩個按鈕,乙個是喜歡,另乙個是刪除。出現的順序和在這個方法中返回的陣列中的元素順序相關。

如果實現了上述方法,那麼之前提到過的tableview:commiteditingstyle:forrowatindexpath:tableview: titlefordeleteconfirmationbuttonforrowatindexpath:方法就不會再呼叫了。(如果為了相容以前的版本,那麼需要實現tableview:commiteditingstyle:forrowatindexpath:方法,在這個方法裡什麼都不用做即可。)

UITableView 新增,刪除,編輯

uitableviewcell tableview uitableview tableview cellforrowatindexpath nsindexpath indexpath cell.textlabel.text clocknum objectatindex indexpath.row c...

UITableView的編輯操作

因為tableview是螢幕的一部分,所以viewcontroll不再繼承uitableviewcontrol,繼而必須加入tableview的委託協議uitableviewdatasource 具體實現 如下 import viewcontroller.h inte ce viewcontroll...

UITableVIew的一些編輯屬性

void tableview uitableview atableview commiteditingstyle uitableviewcelleditingstyle editingstyle forrowatindexpath nsindexpath indexpath tableview de...