1. 程式人生 > >UIcollectionViewCell(UItableviewcell)長按刪除操作

UIcollectionViewCell(UItableviewcell)長按刪除操作

功能簡單,陷阱不少:
主要涉及兩個功能:
1、長按手勢:UILongPressGestureRecognizer
2、cell自帶的刪除操作:deleteItemsAtIndexPaths

首先為cell新增長按手勢:

UILongPressGestureRecognizer* longgs=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longpress:)];
    [cell addGestureRecognizer:longgs];//為cell新增手勢
    longgs.minimumPressDuration=1.0
;//定義長按識別時長 longgs.view.tag=indexPath.row;//將手勢和cell的序號繫結 return cell;

此處注意 [cell addGestureRecognizer:longgs];和longgs.view.tag=indexPath.row;的位置順序,不能顛倒,要先繫結手勢,再賦值tag,因為longs.view中的view實際上就是手勢新增到的檢視,如果還沒有繫結手勢,view實際上是沒有的。

然後就是呼叫的刪除功能的函式:

-(void)longpress:(UILongPressGestureRecognizer*)ges{
    if
(ges.state==UIGestureRecognizerStateBegan){ //獲取目標cell NSInteger row=ges.view.tag; //刪除操作 if(self.cellcount.count>1){ NSIndexPath *index =[NSIndexPath indexPathForRow:row inSection:0]; NSArray* [email protected][index]; [self.colview deleteItemsAtIndexPaths:deletearr]; }else
{ [self.colview reloadData]; } } }

這裡要注意兩點:
1、要對state進行判定,如果沒判定會出現兩次操作。
2、自帶的cell刪除操作deleteItemsAtIndexPaths在只剩最後一個cell呼叫時會出現奔潰,所以這裡要進行判定,當為最後一個時,直接reloadData。(其實都用reloadData都行,不過呼叫deleteItemsAtIndexPaths會有一個剩餘cell的移動動畫)

相關推薦

UIcollectionViewCellUItableviewcell刪除操作

功能簡單,陷阱不少: 主要涉及兩個功能: 1、長按手勢:UILongPressGestureRecognizer 2、cell自帶的刪除操作:deleteItemsAtIndexPaths 首先為cell新增長按手勢: UILongPressGe

轉 新型的按鍵掃描程式 寫的很棒

不過我在網上游逛了很久,也看過不少源程式了,沒有發現這種按鍵處理辦法的蹤跡,所以,我將他共享出來,和廣大同僚們共勉。我非常堅信這種按鍵處理辦法的便捷和高效,你可以移植到任何一種嵌入式處理器上面,因為C語言強大的可移植性。 同時,這裡面用到了一些分層的思想,在微控制器

手機端 刪除 前後端 settimeout代入函式和引數的方法

html:結構可以是 {loop $lists $k $v} <a href="?mid={$mid}&action=show&itemid={$v[itemid]}" class="rfq-item touchArea">

事件完整程式碼觸發

 直接新建個html把程式碼全部放裡面,檢視效果! <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title></title> <scr

oracle閃回flashback的部分實用操作徹底刪除的除外

一、資料delete並且commit提交之後的閃回 (一):根據時間來恢復:1、查詢資料庫當前時間(目的是為了檢查資料庫時間是否與你電腦時間相近,避免時間不同而將資料恢復到錯誤時間點)select  to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dua

Android shortcuts快捷方式實現支付寶圖示彈出快捷方式入口

前言 Android shortcuts算是比較老的技術了,現在許多諸如支付寶、百度地圖等都實現了這一功能,這一功能是Android7.1推出的新功能,但是在國內app使用的還是比較少。我們先來看一下支付寶實現的效果圖。 這樣我們在使用的時候會方便許多,個人認為這種快捷方式更適合靜

C# 操作PDF 圖層Layer—新增、刪除圖層、設定圖層可見性

前言 通過新增圖層,我們可以將文字、圖片、表格、圖形等元素精確定位於頁面指定位置,將這些元素進行疊放、組合形成頁面的最終效果。此外,對於頁面中已有的圖層我們也可以進行設定圖層可見性、刪除圖層等操作。在本篇文章中,將介紹如何在C#中進行PDF圖層的操作。   要點概括 1.新增圖層 線

移動端ios and android識別二維碼含js與原生互調

這篇文章就整理下移動端長按識別二維碼的實現吧!實現方式可以分為三種 第一二種好像沒多少可以說的,但還是按照順序來吧!首先先說下使用的庫,ios使用原生二維碼識別庫(好像是ios7之後才有的),然後說是WKWebView比UIWebView優化了很多 東西,也解決了記

通過jquery庫擴充套件移動端‘觸發’事件模擬瀏覽器‘識別二維碼’功能

上一篇講了如何通過qrcode.js解析二維碼(圖片),那麼現在我們要實現的功能就是最開始的要求'長按識別二維碼'這個功能!解析部分的難題我們已經解決,那麼現在需要解決的就是模擬‘長按觸發事件’這個功能,該功能通過一些參考資料,採用的是給jquery的擴充套件一個觸發事件。

1順序表的操作 ① 輸入一組整型元素序列,建立線性表的順序儲存結構。 ② 實現該線性表的遍歷。 ③ 在該順序表中查詢某一元素,查詢成功顯示查詢元素,否則顯示查詢失敗。 ④ 在該順序表中刪除或插入指

(1)順序表的操作 ① 輸入一組整型元素序列,建立線性表的順序儲存結構。 ② 實現該線性表的遍歷。 ③ 在該順序表中查詢某一元素,查詢成功顯示查詢元素,否則顯示查詢失敗。 ④ 在該順序表中刪除或插入指定元素。 ⑤ 建立兩個按值遞增有序的順序表,將他們合併成一個按值遞增有序的

盟國 並查集的刪除操作

題目連結 思路 並查集的刪除節點,基本的並查集只涉及合併和查詢,沒有刪除。 並查集的結構是樹形的,在刪除一個節點的同時還要保持其子節點與根節點的相對關係,是很麻煩的,所以我們的做法就是不去

資料結構--線性表 演算法函式的實現實現線性表的刪除操作

/*檔名稱:實現線性表的刪除操作*/#include <iostream> using namespace std; #define LIST_INIT_SIZE 100 //線性表儲存空間的初始分配量 #define LI

php laravel框架學習筆記 數據庫操作

true 數據 mar sql show top 一行 ati del 原博客鏈接:http://www.cnblogs.com/bitch1319453/p/6810492.html mysql基本配置 你可用通過配置環境變量,使用cmd進入mysql,當然還有一種東

MongoDB2: 增刪改操作

db nosql mongo 增刪改 curd 附加命令:1、進入前端操作命令./mongo [ip:端口]說明:默認會自動選本地,端口270172、顯示所有的庫> show dbs; 或者 show databases;3、選擇庫> use 庫名;4、顯示庫所有的集合&g

linux下oracle11G DG搭建:興許驗證操作

歸檔 驗證 補充 over nts content -s 環境 fontsize linux下oracle11G DG搭建(四):興許驗證操作 環境 名稱 主庫 備庫 主機名 bjsrv shsrv 軟件版本號 RedH

Memcache 學習筆記---- PHP 腳本操作 Memcache 服務器

ext status ram var_dump 介紹 修改 memcache local dbn    PHP 腳本操作 Memcache 服務器 一、PHP腳本操作Memcache方法     使用 PHP 腳本操作 Memcache,在 PHP 手冊中有詳細的介紹,我們

redis學習一 key鍵,Python操作redis 鍵

lpad ren redis key lee 設置 amp res 列表 pex # -*- coding: utf-8 -*- import redis #這個redis 連接不能用,請根據自己的需要修改 r =redis.Redis(host="123.516.174

HTML5+weui仿微信聊天功能、刪除功能

html5微信聊天 h5微信聊天界面最近由於項目需要, 就運用html5+css3+weui+jquery實現的微信聊天小案例,可發表圖像、紅包、打賞...功能, 還可以長按刪除消息。。。案例截圖如下:HTML及Js片段:<!DOCTYPE html><html lang="zh-cn"&g

C#學習筆記12——三種方法操作XML

結點 記得 ext 應用程序 eval 資源 特性 pla cells 說明(2017-7-11 16:56:13): 原文地址: C#中常用的幾種讀取XML文件的方法 XML文件是一種常用的文件格式,例如WinForm裏面的app.config以及Web程序中的web.c

移動端事件操作

fun 布局 nbsp right out ldr click z-index dom 之前在公司項目上用到長按,也用過jq mobile,好像與後端用的沖突,就沒用。 這個是長按當前的,當前DOM操作。 布局 <ul id="lis"> &l