首页 > 代码库 > iOS UIButton长按事件
iOS UIButton长按事件
//UIButton *aBtn=[UIButton buttonWithType:UIButtonTypeCustom];
//[aBtn setFrame:CGRectMake(40, 100, 60, 60)];
[aBtn setBackgroundImage:[UIImage imageNamed:@"111.png"] forState:UIControlStateNormal];
//button点击事件
[aBtn addTarget:self action:@selector(btnShort:) forControlEvents:UIControlEventTouchUpInside];
//button长按事件
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(btnLong:)];
longPress.minimumPressDuration = 0.8; //定义按的时间
[aBtn addGestureRecognizer:longPress];
-(void)btnLong:(UILongPressGestureRecognizer *)gestureRecognizer{
if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
NSLog(@"长按事件");
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"消息" message:@"确定删除该模式吗?" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"删除", nil];
[alert show];
}
}
//另一种
- (id)initWithFrame:(CGRect)frame {
UITableView *tmpTblView = [[UITableView alloc] initWithFrame:self.frame];
.......
//实例化长按手势监听
UILongPressGestureRecognizer *longPress =
[[UILongPressGestureRecognizer alloc] initWithTarget:self
action:@selector(handleTableviewCellLongPressed:)];
//代理
longPress.delegate = self;
longPress.minimumPressDuration = 1.0;
//将长按手势添加到需要实现长按操作的视图里
[tmpTblView addGestureRecognizer:longPress];
[longPress release];
[tmpTblView release];
}
//长按事件的实现方法
- (void) handleTableviewCellLongPressed:(UILongPressGestureRecognizer *)gestureRecognizer {
if (gestureRecognizer.state == UIGestureRecognizerStateBegan) {
NSLog(@"UIGestureRecognizerStateBegan");
}
if (gestureRecognizer.state == UIGestureRecognizerStateChanged) {
NSLog(@"UIGestureRecognizerStateChanged");
}
if (gestureRecognizer.state == UIGestureRecognizerStateEnded) {
NSLog(@"UIGestureRecognizerStateEnded");
}
}