一: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...