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

 

posted on 2016-06-14 17:53  助金  阅读(1537)  评论(0编辑  收藏  举报