2011-12-19 111 views
1

我想單擊按鈕打開一個Web瀏覽器,即Google頁面。 我成功地通過單擊完成了這項工作。但同樣的事情,我想實現雙擊事件。 我搜索了很多關於這個,並得到一個程序,點擊屏幕上的任何地方打開。 如果有人對此有任何瞭解,請指導我。Doble單擊xcode中的按鈕事件

在此先感謝

+0

看這個問題:http://stackoverflow.com/questions/4109582/double-touch-on-uibutton – 2011-12-19 06:50:13

回答

0

試試這個: -

假設點擊是被調用的行動: -

[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; 
} 

說明: -

首先你isDoubleClickNO。當你點擊按鈕,第一次它得到YES。之後你再點擊如果它得到了第二次YES然後這意味着它是一個雙擊,並執行任何你想要執行的雙擊。使isDoubleClickNO,以便下次點擊被視爲單擊。

使用定時器: -

對於雙擊您需要確保兩個時間點擊完成一個another.For後,使單點擊後2第二次火災的計時器方法來設置isDoubleClick到計時器NO以確保現在如果用戶點擊該按鈕,該點擊將被視爲單個不加倍。

我希望它能節省你幾個小時。

快樂編碼!

0

嘗試用這個事件

UIControlEventTouchDownRepeat