版权声明:本文为pureszgd原创文章,未经允许不得转载, 要转载请评论留言! https://blog.csdn.net/pureszgd/article/details/84580910
[self addGestureRecognizer: [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longTap:)]];
- (void)longTap:(UILongPressGestureRecognizer *)gestureRecognizer {
if ([gestureRecognizer state]==UIGestureRecognizerStateBegan) {
[self becomeFirstResponder];
UIMenuController *menuController = [UIMenuController sharedMenuController];
UIMenuItem *copyItem = [[UIMenuItem alloc] initWithTitle:@"start" action:@selector(startAction)];
UIMenuItem *colloctionItem = [[UIMenuItem alloc] initWithTitle:@"stop" action:@selector(stopAction)];
[menuController setMenuItems:[NSArray arrayWithObjects:copyItem,colloctionItem, nil]];
[menuController setTargetRect:self.frame inView:self.superview];
[menuController setMenuVisible:YES animated:YES];
}
}
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if(action ==@selector(startAction)){
return YES;
} else if (action==@selector(stopAction)) {
return YES;
}
return [super canPerformAction:action withSender:sender];;
}
- (BOOL)canBecomeFirstResponder {
return YES;
}
- (void)startAction {
if (self.startBlock) {
self.startBlock();
}
}
- (void)stopAction {
if (self.stopBlock) {
self.stopBlock();
}
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if ([UIMenuController sharedMenuController].isMenuVisible) {
[[UIMenuController sharedMenuController] setMenuVisible:NO animated:YES];
}
}