先设置一个按钮button【这里不再累述】
//button长按事件
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(btnLong:)];
longPress.minimumPressDuration = 0.8; //定义按的时间
[_button addGestureRecognizer:longPress];
-(void)btnLong:(UILongPressGestureRecognizer *)gestureRecognizer{
if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
NSLog(@"长按事件");
NSString *message = NSLocalizedString(@"是否复制到剪切板?", nil);
NSString *otherButtonTitle = NSLocalizedString(@"确定", nil);
NSString *cancleButtonTitle = NSLocalizedString(@"取消", nil);
UIAlertController *homealertController = [UIAlertController alertControllerWithTitle:nil message:message preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *otherAction = [UIAlertAction actionWithTitle:otherButtonTitle style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
//复制文字到剪切板
UIPasteboard *pboard = [UIPasteboard generalPasteboard];
pboard.string = _button.titleLabel.text;
//复制图片到剪切板
UIPasteboard *pboard = [UIPasteboard generalPasteboard];
pboard.image =_button.imageView.image;
}];
UIAlertAction *cancleAction = [UIAlertAction actionWithTitle:cancleButtonTitle style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
}];
[homealertController addAction:cancleAction];
[homealertController addAction:otherAction];
[self presentViewController:homealertController animated:YES completion:nil];
}
}
以上就可以实现简单快捷的添加按钮的长按事件,并且能够复制到剪切板上,快准狠。。。。。。