类似于 QQ长按弹出菜单视图 (主要是文字的复制、粘贴)
来源:互联网 发布:美利坚大学知乎 编辑:程序博客网 时间:2024/05/17 23:09
//长按触发的事件- (void)longAction:(UILongPressGestureRecognizer *)sender{ if (sender.state == UIGestureRecognizerStateBegan) { NSLog(@"长按手势已经触发"); //一定要调用这个方法 [self becomeFirstResponder]; //创建菜单控制器 UIMenuController * menuvc = [UIMenuController sharedMenuController]; UIMenuItem * menuItem1 = [[UIMenuItem alloc]initWithTitle:@"复制" action:@selector(firstItemAction:)]; UIMenuItem * menuItem2 = [[UIMenuItem alloc]initWithTitle:@"粘贴" action:@selector(secondItemAction:)]; UIMenuItem * menuItem3 = [[UIMenuItem alloc]initWithTitle:@"删除" action:@selector(threeItemAction:)]; menuvc.menuItems = @[menuItem1, menuItem2, menuItem3]; [menuvc setTargetRect:CGRectMake(self.bounds.size.width/2, self.bounds.origin.y-5, 0, 0) inView:self]; [menuvc setMenuVisible:YES animated:YES]; }}#pragma mark--设置每一个item的点击事件- (void)firstItemAction:(UIMenuItem *)item{ NSLog(@"%s--->%@", __func__, item); //通过系统的粘贴板,记录下需要传递的数据 [UIPasteboard generalPasteboard].string = @"我们好像在见过";}- (void)secondItemAction:(UIMenuItem *)item{ NSLog(@"%s--->%@", __func__, item); //从系统的粘贴板获取复制的数据 NSString * str = [UIPasteboard generalPasteboard].string; if (str) { self.text = str; }}- (void)threeItemAction:(UIMenuItem *)item{ NSLog(@"%s--->%@", __func__, item); self.text = nil;}#pragma mark--必须实现的关键方法//自己能否成为第一响应者- (BOOL)canBecomeFirstResponder{ return YES;}//能否处理Action事件- (BOOL)canPerformAction:(SEL)action withSender:(id)sender{ if (action == @selector(firstItemAction:) || action == @selector(secondItemAction:) ) { return YES; } return [super canPerformAction:action withSender:sender];}
1 0
- 类似于 QQ长按弹出菜单视图 (主要是文字的复制、粘贴)
- TextView的长按复制(高仿微信文字复制粘贴)
- EditText是如何实现长按弹出复制粘贴等ContextMenu的源码解析
- WebView长按弹出复制粘贴
- VIM 学习笔记(主要是复制粘贴的)
- 仿QQ长按弹出功能菜单
- 仿QQ长按弹出功能菜单
- 类似于QQ的菜单
- 类似于QQ的菜单
- 长按tableViewCell弹出复制、黏贴菜单
- 长按tableViewCell弹出复制、黏贴菜单
- Android 各种菜单,弹出菜单,打开文件子菜单,文本框的复制粘贴全选菜单效果,自定义图片文字菜单效果,PopupMenu,PopupWindow
- android开发之长按弹出粘贴,点击之后复制
- 安卓5.1文本框屏蔽长按弹出的复制粘贴
- android meun 菜单的使用(长按弹出菜单)
- TextView长按复制-粘贴
- 类似于长按文章,有复制,收藏的功能
- 长按弹出菜单
- 东半球最好用的Flask RESTful框架:SinglePage
- Redis3.0.3的安装、测试、服务启动、密码设置
- PV操作--经典问题分析
- JS打开新窗口的两种方式
- LRU缓存实现(Java)
- 类似于 QQ长按弹出菜单视图 (主要是文字的复制、粘贴)
- mysql查询某个特定值在整个数据库中所在的表和字段的方法
- mvn -v 抛出异常解决办法
- Android 高仿IOS底部Dialog对话框。
- java fastjson如何自定义转换含枚举类型对象(编程技巧)
- java工程生成.bat脚本的一个例子
- mac版本Beyond Compare如何一直试用和拷贝的xcode升级问题
- 400. Nth Digit
- Java多线程编程详解