2011-12-19 147 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