我想單擊按鈕打開一個Web瀏覽器,即Google頁面。 我成功地通過單擊完成了這項工作。但同樣的事情,我想實現雙擊事件。 我搜索了很多關於這個,並得到一個程序,點擊屏幕上的任何地方打開。 如果有人對此有任何瞭解,請指導我。Doble單擊xcode中的按鈕事件
在此先感謝
我想單擊按鈕打開一個Web瀏覽器,即Google頁面。 我成功地通過單擊完成了這項工作。但同樣的事情,我想實現雙擊事件。 我搜索了很多關於這個,並得到一個程序,點擊屏幕上的任何地方打開。 如果有人對此有任何瞭解,請指導我。Doble單擊xcode中的按鈕事件
在此先感謝
試試這個: -
假設點擊是被調用的行動: -
[btn addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];
,你所要做的就是: -
製作a BOOL
全局變量
in .h file
做到: -
BOOL isDoubleClick;
NSTimer *doubleClickTimer;
in .m file do:-
-(IBAction)click
{
if (isDoubleClick==YES) {
//DOUBLE CLICK
isDoubleClick=NO;
}
else if(isDoubleClick==NO)
{
//SINGLE CLICK
isDoubleClick=YES;
doubleClickTimer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(TimerReload:) userInfo:nil repeats:NO];
}
NSLog(@"bool %s", isDoubleClick ? "true" : "false");
}
-(void)TimerReload:(NSTimer *)timer
{
doubleClickTimer = nil;
isDoubleClick = NO;
}
說明: -
首先你isDoubleClick
是NO
。當你點擊按鈕,第一次它得到YES
。之後你再點擊如果它得到了第二次YES
然後這意味着它是一個雙擊,並執行任何你想要執行的雙擊。使isDoubleClick
到NO
,以便下次點擊被視爲單擊。
使用定時器: -
對於雙擊您需要確保兩個時間點擊完成一個another.For後,使單點擊後2第二次火災的計時器方法來設置isDoubleClick
到計時器NO
以確保現在如果用戶點擊該按鈕,該點擊將被視爲單個不加倍。
我希望它能節省你幾個小時。
快樂編碼!
嘗試用這個事件
UIControlEventTouchDownRepeat
看這個問題:http://stackoverflow.com/questions/4109582/double-touch-on-uibutton – 2011-12-19 06:50:13