我想单击按钮打开一个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