[英]UIButton with both Touch Up Inside and Touch Repeat?
讓按鈕同時具有Touch Up Inside
動作和Touch Down Repeat
動作的最佳方法是什么? 有點像iPhone上的Home按鈕:只需點擊一下即可進入主屏幕,但兩次快速點擊可打開多任務欄。 現在我的按鈕已經連接了兩個方法,但Touch Down Repeat
Touch Up Inside
方法(不出所料)在Touch Down Repeat
發生之前被調用。
我可以提出一些方法來解決這個問題(讓Touch Up Inside方法等待一秒鍾,看看在執行之前是否有另一個點擊,第二個按鈕在第一次點擊后無形地移動到位)等等看起來很糟糕,對性能損失和漏洞持開放態度。 我找到了tapCount
屬性,但是它用於UITouch而不是UIButton,所以if([_buttonAddItems tapCount] > 1) {} else if([_buttonAddItems tapCount] == 1)
,這似乎是最有效的方法它,不起作用。
這種事情有最好的做法嗎? 或者,如果沒有,有沒有人有一個首選的方法來完成這項工作?
嘗試斷開按鈕上的兩個觸摸事件,並將兩個輕觸手勢識別器掛鈎。 這是一個答案的鏈接 ,解釋了如何設置兩個手勢識別器,以便其中一個識別單擊,另一個識別雙擊:
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(doSingleTap)];
singleTap.numberOfTapsRequired = 1;
[myButton addGestureRecognizer:singleTap];
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(doDoubleTap)];
doubleTap.numberOfTapsRequired = 2;
[myButton addGestureRecognizer:doubleTap];
// This is the "secret sauce":
[singleTap requireGestureRecognizerToFail:doubleTap];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.