iOS UIButton单双击处理响应不同的方法

  //显示目标 双击显示当前用户坐标位置
   UIButton * btnShowDistination = [[UIButton alloc]initWithFrame:CGRectMake(15, SCREEN_HEIGHT-110-64, 35, 35)];
    [btnShowDistination setBackgroundImage:[UIImage imageNamed:@"show_distination"] forState:UIControlStateNormal];
    [btnShowDistination addTarget:self action:@selector(btnTouchOne:forEvent:) forControlEvents:UIControlEventTouchDown];

    [btnShowDistination addTarget:self action:@selector(buttonRepeatAction:) forControlEvents:UIControlEventTouchDownRepeat];

    [self.view addSubview:btnShowDistination];

}

- (void)btnTouchOne:(UIButton *)sender forEvent:(UIEvent *)event
{
    [self performSelector:@selector(showDistination:) withObject:sender afterDelay:0.3];
}

- (void)buttonRepeatAction:(UIButton *)sender{
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(showDistination:) object:sender];
    [self showsUserLocation:sender];
}

- (void)showsUserLocation:(UIButton *)sender
{
    if (_mapView.userLocation) {
        [_mapView setCenterCoordinate:_mapView.userLocation.coordinate animated:YES];
        _mapView.zoomLevel = 17;
    }
}

- (void)showDistination:(UIButton *)sender{

    if (_circle) {
    [_mapView setCenterCoordinate:_circle.coordinate animated:NO];
        _mapView.zoomLevel = 17;
    }

}
时间: 2024-10-19 15:29:12

iOS UIButton单双击处理响应不同的方法的相关文章

iOS——UIButton响应传参数

- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents; 方法是无法传参数的,能得到的只是响应的UIButton.下面我们来学习一下如何通过UIButton来“传参数”. 我们以UITableView 为例,在UITableViewCell中定义一个cell,我们称之为CustomCell,cell上加有一个UIButton的控件.我们要做的是如何在点击UIBu

IOS开发之关于UIButton点击没有响应问题

1.如果一个UIButton的frame超出父视图的frame,UIButton还是可以显现的,但响应不了点击事件了,当开发中,遇到UIButton点击没有响应问题时,我们需要输出btn及它父视图的frame,看看btn.frame是否超出view 2.还可以通过Debug--->View Debugging--->show ViewFrames查看按钮上层是否有透明视图.

iOS 防止按钮快速点击造成多次响应的避免方法

有时候有些操作是防止用户在一次响应结束中再响应下一个.但有些测试用户就要猛点,狂点.像这种恶意就要进行防止. 当然有些异步操作时,可以在调用前enable 掉.等CallBACK 后再enable起来.过程中按钮是不能点的. 1.可以使用: - (void) timeEnough { UIButton *btn=(UIButton*)[self.view viewWithTag:33]; btn.selected=NO; [timer invalidate]; timer=nil; } - (v

iOS UIButton同时设置title和image属性

在iOS开发中,使用UIButton设置title和image,达到tabBarItem的效果,即title在下,image在上: 目前,我发现有两种比较好的方法: 方法一,使用UIEdgeInsets UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; [button setFrame:CGRectMake(100, 100, 60, 60)]; [button setBackgroundColor:[UIColor

IOS 定位 单例

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 + (SCLocationController *)sharedController {      static SCLocationController *sharedController = nil;     

给同一个按钮添加单双击事件

1.单双击事件的添加. 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>单双击事件</title> 6 </head> 7 <body> 8 <input type="button" onclick="return fun(1

iOS UIButton按钮

系统字体 + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]]; NSArray *fontNames; NSInteger indFamily, indFont; for (indFamily=0; indFamily<[familyNames count]; ++indFamily) {     NSLog(@"Fa

JS同时绑定单双击事件

这两天工作上遇到这种情况,需要在tree组件上的每个节点绑定单双击事件,怎么实现呢?借助js的定时器来实现这个功能吧,思路是这样的:给定时器设置一个时间,如果在该时间段内用户点击一次则触发单机事件,大于1的话就执行双击事件.废话不多说,这里我们用一个示例来说明: 首先要引入jQuery,这里用jquery来为测试元素绑定事件 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <

IOS UIButton用法详解

这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举了.希望对大家有用.   //这里创建一个圆角矩形的按钮UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; // 能够定义的button类型有以下6种,// typedef enum {// UIButtonTypeCustom = 0, 自定义风格// UIButtonTypeRoundedRect, 圆角矩形 // UIButtonTy