iOS中給UITableView的側(cè)滑刪除增加多個(gè)按鈕的實(shí)現(xiàn)方法

一. 需求:

成都創(chuàng)新互聯(lián)公司一直在為企業(yè)提供服務(wù),多年的磨煉,使我們?cè)趧?chuàng)意設(shè)計(jì),成都全網(wǎng)營(yíng)銷推廣到技術(shù)研發(fā)擁有了開(kāi)發(fā)經(jīng)驗(yàn)。我們擅長(zhǎng)傾聽(tīng)企業(yè)需求,挖掘用戶對(duì)產(chǎn)品需求服務(wù)價(jià)值,為企業(yè)制作有用的創(chuàng)意設(shè)計(jì)體驗(yàn)。核心團(tuán)隊(duì)擁有超過(guò)10年以上行業(yè)經(jīng)驗(yàn),涵蓋創(chuàng)意,策化,開(kāi)發(fā)等專業(yè)領(lǐng)域,公司涉及領(lǐng)域有基礎(chǔ)互聯(lián)網(wǎng)服務(wù)服務(wù)器托管、重慶APP開(kāi)發(fā)公司、手機(jī)移動(dòng)建站、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)絡(luò)整合營(yíng)銷。

cell的側(cè)滑刪除默認(rèn)只有一個(gè)刪除按鈕, 給側(cè)滑添加多個(gè)按鈕, '刪除', '置頂', '更多'.

 二. 實(shí)現(xiàn)說(shuō)明:

1) 我們?cè)谑褂靡恍?yīng)用的時(shí)候,在滑動(dòng)一些聯(lián)系人的某一行的時(shí)候,會(huì)出現(xiàn)刪除、置頂、更多等等的按鈕,在iOS8之前,我們都需要自己去實(shí)現(xiàn)。但是到了iOS8,系統(tǒng)已經(jīng)寫(xiě)好了,只需要一個(gè)代理方法和一個(gè)類就搞定了

2) iOS8的協(xié)議多了一個(gè)方法,返回值是數(shù)組的tableView:editActionsForRowAtIndexPath:方法,我們可以在方法內(nèi)部寫(xiě)好幾個(gè)按鈕,然后放到數(shù)組中返回,那些按鈕的類就是UITableViewRowAction

3) 在UITableViewRowAction類,我們可以設(shè)置按鈕的樣式、顯示的文字、背景色、和按鈕的事件(事件在Block中實(shí)現(xiàn))

4) 在代理方法中,我們可以創(chuàng)建多個(gè)按鈕放到數(shù)組中返回,最先放入數(shù)組的按鈕顯示在最右側(cè),最后放入的顯示在最左側(cè)

5) 注意:如果我們自己設(shè)定了一個(gè)或多個(gè)按鈕,系統(tǒng)自帶的刪除按鈕就消失了.

三. 代碼實(shí)現(xiàn):

- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
{
 // 添加一個(gè)'刪除'按鈕
 UITableViewRowAction *deleteRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"刪除" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
  NSLog(@"點(diǎn)擊了'刪除'");
  // 1. 更新數(shù)據(jù)
  // 2. 更新UI
//  [tableView deleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationAutomatic];
}];
 // 添加一個(gè)'置頂'按鈕
 UITableViewRowAction *topRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"置頂" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
  NSLog(@"點(diǎn)擊了'置頂'");
  // 1. 更新數(shù)據(jù)
  // 2. 更新UI
  //NSIndexPath *firstIndexPath = [NSIndexPath indexPathForRow:0 inSection:indexPath.section];
  //[tableView moveRowAtIndexPath:indexPathtoIndexPath:firstIndexPath];
  }];
 topRowAction.backgroundColor = [UIColor blueColor];
 // 添加一個(gè)'更多'按鈕
 UITableViewRowAction *moreRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"更多" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
  NSLog(@"點(diǎn)擊了'更多'");
  [tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationMiddle];
 }];
 moreRowAction.backgroundEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
 //將設(shè)置好的按鈕放到數(shù)組中返回
 return @[deleteRowAction, topRowAction, moreRowAction];
}

相關(guān)閱讀:

詳解iOS開(kāi)發(fā)中UITableview cell 頂部空白的多種設(shè)置方法

IOS中UITableView滾動(dòng)到指定位置

以上所述是小編給大家介紹的Android中給UITableView的側(cè)滑刪除增加多個(gè)按鈕的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!

分享文章:iOS中給UITableView的側(cè)滑刪除增加多個(gè)按鈕的實(shí)現(xiàn)方法
文章路徑:http://muchs.cn/article40/pphceo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、微信公眾號(hào)響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、小程序開(kāi)發(fā)營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名