//添加一个长按响应方法

- (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 复制的更多相关文章

  1. ios label 简单的长按复制文本信息

    在iOS开发过程中,有时候会用到UILabel展示的内容,那么就设计到点击UILabel复制它上面展示的内容的功能,也就是Label长按复制功能.网上有很多种给Label添加长按复制功能的方法,这里我 ...

  2. IOS --关于粘贴板 ,剪切板 ,UILabel的复制

    在iOS中下面三个控件,自身就有复制-粘贴的功能: 1.UITextView 2.UITextField 3.UIWebView UIKit framework提供了几个类和协议方便我们在自己的应用程 ...

  3. UIPasteboard粘贴板:UIlabel开启复制粘贴功能(一)

    首先,因为苹果只放出来了 UITextView,UITextField,webView三个控件的剪贴板,所以一般控件的剪贴板都被禁用了,因此,我们首先要做的就是把这属性放出来,其实就是实现三个简单的方 ...

  4. 给文本标签UILabel添加长按复制功能

    http://www.111cn.net/sj/iOS/104236.htm http://blog.csdn.net/lrenjun/article/details/12582927 自定义一个可复 ...

  5. ios 复制黏贴板的使用

    在iOS中,可以使用剪贴板实现应用程序之中以及应用程序之间实现数据的共享.比如你可以从iPhone QQ复制一个url,然后粘贴到safari浏览器中查看这个链接的内容. 一.在iOS中下面三个控件, ...

  6. Swift - UIPasteboard剪贴板的使用详解(复制、粘贴文字和图片)

    转载自:http://www.hangge.com/blog/cache/detail_1085.html UITextField.UITextView组件系统原生就支持文字的复制,但有时我们需要让其 ...

  7. UILabel自适应高度

    在网上看了一些,发现很多关于自适应高度的,不能用,就在下面写一种我常用的吧!保证可以直接粘贴复制到Xcode中运行. UILabel *label = [[UILabel alloc] init]; ...

  8. ios 初体验<UILabel控件>

    创建控件: UILabel *label = [[UILabel alloc]init]; //设置控件大小 label.frame = CGRectMake(50,100,300,40);//分别为 ...

  9. iOS开发之复制字符串到剪贴板

    概述 一般有邀请复制链接需求功能,把字符串复制到系统剪贴板,供用户粘贴使用链接. 详细 代码下载:http://www.demodashi.com/demo/10714.html 一.主要思路 1.在 ...

随机推荐

  1. MyBatis 学习-动态 SQL 篇

    MyBatis 为我们提供了如下几个动态 SQL 元素: if choose foreach where/set trim 一.IF 元素 <select id="selectProj ...

  2. openstack私有云布署实践【11.3 计算nova - compute节点-nova用户免密登录(用于云主机冷迁移+扩展云主机大小)】

    云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密   compute1-7     他们相互SSH免密 k ...

  3. 汇总前端最最常用的JS代码片段-你值得收藏

    原始出处,可拷贝:http://www.w3cfuns.com/notes/25068/1d0d350a974d879e63f1115cf80a3288.html 摘自:http://www.love ...

  4. html和html5学习

    html和html5学习 chorme.safari中的input或textarea html超链接(a)详细讲解 html5新增及删除标签 html表格 图片加alt属性 input的type属性 ...

  5. 【Python】functools.wraps定义函数装饰器

    第一次见到functools.wraps是在 Flask Web开发 中,一直不明白怎么回事. 装饰器(decorator)是干嘛的?对于受到封装的原函数来说,装饰器能够在那个函数执行前或者执行后分别 ...

  6. 各种文件的ContentType

    CONTENT_TYPE = { 16 '.load': 'text/html', 17 '.123': 'application/vnd.lotus-1-2-3', 18 '.3ds': 'imag ...

  7. linux挂载新硬盘

    Linux添加新硬盘自动挂载硬盘的具体步骤 1.插入新硬盘,启动Linux服务器,使用fdisk -l 查看硬盘 #fdisk -l Disk /dev/sdb: 1000.2 GB, 1000204 ...

  8. PHP字符串转义

    与PHP字符串转义相关的配置和函数如下: 1.magic_quotes_runtime 2.magic_quotes_gpc 3.addslashes()和stripslashes() 4.mysql ...

  9. SQL Server函数格式

    函数格式CREATE FUNCTION -- ============================================= -- Author: Clive Chinery -- Cre ...

  10. 汉字转全拼音函数优化方案(SQLServer),值得你看看

    函数要求实现功能 select 函数名 ('你好,我是追索') 返回的结果(ni hao , wo shi zhui suo) 解决方案一: 解决方案一 /* 根据汉字获取全拼 1.生成所有读音临时表 ...