uilabel 复制
//添加一个长按响应方法
- (void)addLongPressGestureRecognizer
{
UILongPressGestureRecognizer * longPress = [[UILongPressGestureRecognizer alloc ]initWithTarget:self action:@selector(longPress:)];
[self.contentLabel addGestureRecognizer:longPress];
self.contentLabel.userInteractionEnabled = YES;
}
//长按方法的实现
- (void)longPress:(UILongPressGestureRecognizer *)sender
{
if (sender.state == UIGestureRecognizerStateBegan)
{
[self becomeFirstResponder];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(menuItemsHiden) name:UIMenuControllerWillHideMenuNotification object:nil];
UIMenuItem *copy = [[UIMenuItem alloc]initWithTitle:@"复制" action:@selector(menuCopy:)];
UIMenuItem * report = [[UIMenuItem alloc]initWithTitle:@"举报" action:@selector(menuReport:)];
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setMenuItems:@[copy,report]];
[menu setTargetRect:CGRectMake([sender locationInView:self.view].x, [sender locationInView:self.view].y, 0, 0) inView:self.view];
[menu setMenuVisible:YES animated:YES];
self.contentLabel.backgroundColor = [UIColor grayColor];
}
}
/*!
* 允许成为第一响应
*/
- (BOOL)canBecomeFirstResponder{
return YES;
}
/*!
* 用于控制哪些命令显示在编辑菜单中
*/
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender{
if (action == @selector(menuCopy:)) {
return YES;
}
if (action == @selector(menuReport:)) {
return YES;
}
return NO;
}
/**
* @brief 复制的响应方法
*
* @param sender
*/
-(void)menuCopy:(id)sender
{
[UIPasteboard generalPasteboard].string = self.contentLabel.text?self.contentLabel.text:@"";
}
/**
* @brief 举报的响应方法
*
* @param sender
*/
-(void)menuReport:(id)sender
{
//跳转到举报用户添加 举报类型字段
NSLog(@"举报的响应方法");
}
- (void)menuItemsHiden
{
self.contentLabel.backgroundColor = [UIColor whiteColor];
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
//来源:http://blog.cocoachina.com/article/39466
uilabel 复制的更多相关文章
- ios label 简单的长按复制文本信息
在iOS开发过程中,有时候会用到UILabel展示的内容,那么就设计到点击UILabel复制它上面展示的内容的功能,也就是Label长按复制功能.网上有很多种给Label添加长按复制功能的方法,这里我 ...
- IOS --关于粘贴板 ,剪切板 ,UILabel的复制
在iOS中下面三个控件,自身就有复制-粘贴的功能: 1.UITextView 2.UITextField 3.UIWebView UIKit framework提供了几个类和协议方便我们在自己的应用程 ...
- UIPasteboard粘贴板:UIlabel开启复制粘贴功能(一)
首先,因为苹果只放出来了 UITextView,UITextField,webView三个控件的剪贴板,所以一般控件的剪贴板都被禁用了,因此,我们首先要做的就是把这属性放出来,其实就是实现三个简单的方 ...
- 给文本标签UILabel添加长按复制功能
http://www.111cn.net/sj/iOS/104236.htm http://blog.csdn.net/lrenjun/article/details/12582927 自定义一个可复 ...
- ios 复制黏贴板的使用
在iOS中,可以使用剪贴板实现应用程序之中以及应用程序之间实现数据的共享.比如你可以从iPhone QQ复制一个url,然后粘贴到safari浏览器中查看这个链接的内容. 一.在iOS中下面三个控件, ...
- Swift - UIPasteboard剪贴板的使用详解(复制、粘贴文字和图片)
转载自:http://www.hangge.com/blog/cache/detail_1085.html UITextField.UITextView组件系统原生就支持文字的复制,但有时我们需要让其 ...
- UILabel自适应高度
在网上看了一些,发现很多关于自适应高度的,不能用,就在下面写一种我常用的吧!保证可以直接粘贴复制到Xcode中运行. UILabel *label = [[UILabel alloc] init]; ...
- ios 初体验<UILabel控件>
创建控件: UILabel *label = [[UILabel alloc]init]; //设置控件大小 label.frame = CGRectMake(50,100,300,40);//分别为 ...
- iOS开发之复制字符串到剪贴板
概述 一般有邀请复制链接需求功能,把字符串复制到系统剪贴板,供用户粘贴使用链接. 详细 代码下载:http://www.demodashi.com/demo/10714.html 一.主要思路 1.在 ...
随机推荐
- css基础和心得(一)
css开始 p{ font-size:12px; color:red; font-weight:blod } p为选择符p{}又称选择器,指明网页中要应用样式规则的元素.属性和值之 ...
- (89c51)16x16点阵屏幕的实现
基本组件是一个51单片机,一个74154译码器,四个MATRIX-8X8. 考虑到单片机引脚有限,所以使用P0口和P2口的总共16根引脚选择列,而P1口的低4位接译码器,译出的一个低电平选择行.所以图 ...
- wvs_patcher批量测试网站
来自:http://zone.wooyun.org/content/23162 pip install multiprocessing错误. 然后就到官方下载安装包本地安装 multiprocessi ...
- centos 日常操作指令
ls ls -li 查看当前目录下所有目录 ls -al 查看当前目录下所有目录包括隐藏文件 CD cd 目录 跳转指定目录 cd ..返回上级目录 cd / 返回根目录 VI 1. 使用vi进 ...
- linux基础-安装篇
linux现在的版本已经升级到7.x的版本了,现在虽然企业还是使用6.x的版本,但是未来的趋势肯定是往7的方向发展的,很多的培训机构或者一些学校的课程也都更新的7的版本进行教学,下面的安装实例就是以7 ...
- emmet 教程 emmet快捷键大全
Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示: ...
- appium元素集合定位
概念:某一类型元素的集合 list对象 来源:-控件复用 -相同的控件类型 -取名重复 语法:driver.findElements(By.id("text1")).get(0) ...
- MUI——页面的创建、显示、关闭
一.打开子页面 mui.init({ subpages:[{ url:your-subpage-url,//子页面HTML地址,支持本地地址和网络地址 id:your-subpage-id,//子页面 ...
- 今天写动态canvas柱状图小结
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Nohttp框架在Android Studio中的使用
1.添加noHttp的使用权限 <!-- 读写 sd 卡 --> <uses-permission android:name="android.permission.REA ...