// 按钮点击事件
- (void)testMenuClicke:(UIButton *)btn{undefined
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setTargetRect:btn.frame inView:btn.superview];
// [UIMenuController sharedMenuController].arrowDirection = UIMenuControllerArrowRight;
UIMenuItem * item = [[UIMenuItem alloc] initWithTitle:@"复制" action:@selector(copys:)];
UIMenuItem * item1 = [[UIMenuItem alloc] initWithTitle:@"粘贴" action:@selector(pastes:)];
UIMenuItem * item2 = [[UIMenuItem alloc] initWithTitle:@"删除" action:@selector(deletes:)];
[menu setMenuItems:@[item, item1,item2]];
[menu setMenuVisible:YES animated:YES];
//[[UIMenuController sharedMenuController] update];
//menu.arrowDirection = UIMenuControllerArrowLeft;
}
// 需要设置以下两个方法
// 不设置这个方法,会导致无法调出menu菜单
- (BOOL)canBecomeFirstResponder {undefined
return true;
}
// 再此方法中判断允许的方法,否则菜单项不弹出
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {undefined
// UIResponder
if(action == @selector(copys:) ||
action == @selector(pastes:) ||
action == @selector(deletes:)) {undefined
return YES;
}
return NO;
}
// 实现方法,完成功能
- (void)copys:(id)sender {undefined
// UIPasteboard * paste = [UIPasteboard generalPasteboard];
// paste.string = self.text;
NSLog(@"copy");
}
- (void)pastes:(id)sender {undefined
// UIPasteboard * paste = [UIPasteboard generalPasteboard];
// self.text = paste.string;
NSLog(@"paste");
}
- (void)deletes:(id)sender {undefined
// self.text = @"";
NSLog(@"delete");
}