剪贴板的使用以及自定义剪贴板。

系统剪贴板的直接调用

其实整个过程非常的简单,我就用我写的一个自定义UILable来说明调用系统剪贴板。

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

响应方法

- (BOOL)canBecomeFirstResponder{

returnYES;

}

//"反馈"关心的功能,即放出你需要的功能,比如你要放出copy,你就返回YES,否则返回NO;

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender{

if (action ==@selector(copy:)){

returnYES;

}

else if (action ==@selector(paste:)){

return YES;

}

else if (action ==@selector(cut:)){

returnNO;

}

else if(action ==@selector(select:)){

returnNO;

}

else if (action ==@selector(delete:)){

returnNO;

}

return NO;

}

OK,开放控件的剪贴板功能已经放出,剩下的就是实现了

//UILabel默认是不接收事件的,我们需要自己添加touch事件

-(void)attachTapHandler{

self.userInteractionEnabled =YES;  //用户交互的总开关

UITapGestureRecognizer *touch = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(handleTap:)];

touch.numberOfTapsRequired =1;

[selfaddGestureRecognizer:touch];

[touch release];

}

响应点击事件

-(void)handleTap:(UIGestureRecognizer*) recognizer{

[selfbecomeFirstResponder];

UIMenuController *menu = [UIMenuControllersharedMenuController];

[menu setTargetRect:self.frameinView:self.superview];

[menu setMenuVisible:YESanimated:YES];

}

OK,此处已经可以点击出COPY菜单了,下面就是对你copy和paste的实现了

//针对于copy的实现

-(void)copy:(id)sender{

UIPasteboard *pboard = [UIPasteboardgeneralPasteboard];

pboard.string = self.text;

}

- (void)paste:(id)sender{

self.textAlignment =UITextAlignmentRight;

UIPasteboard *pboard = [UIPasteboardgeneralPasteboard];

self.text = [NSStringstringWithFormat:@"粘贴内容:%@",pboard.string];

NSLog(@"pboard.string : %@",pboard.string);

}

自此,一个可复制的UILabel遍腾空出世了

UIPasteboard的使用的更多相关文章

  1. UIMenuController/UIPasteboard(2) UITableView上实用剪贴板

    在UITableView上实用剪贴板有两种方法: 一.在tableView的代理方法中直接有三个有关剪贴板的方法. //某行是否允许show菜单 -(BOOL)tableView:(UITableVi ...

  2. UIMenuController/UIPasteboard(1) 制作一个可以粘贴复制的Label

    效果如下:   苹果只放出来了 UITextView,UITextField,webView三个控件的剪贴板,所以我们要自定义可以复制粘贴的控件,首先需要打开UIResponder的两个方法: - ( ...

  3. UIMenuController搭配UIPasteboard,执行拷贝-黏贴操作-b

    一.基本概念 UIKit框架中,可以直接执行拷贝黏贴操作的有:UITextView.UITextField和UIWebView,其他控件需要实现相关方法. 关于UIPasteboard ·黏贴板是ap ...

  4. UIPasteboard 粘贴板

    UIPasteboard *pasteboard = pasteboard.string = self.label.text;

  5. UIMenuController,UIPasteboard:复制,粘贴详细解释

    首先,这四个地图.我想实现的功能.[一张照片讲一个复制到另一UIimageView上] 实现代码例如以下: -(IBAction)panGestureTop:(UILongPressGestureRe ...

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

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

  7. iOS - UIPasteboard

    前言 NS_CLASS_AVAILABLE_IOS(3_0) __TVOS_PROHIBITED __WATCHOS_PROHIBITED @interface UIPasteboard : NSOb ...

  8. 系统剪切板的使用UIPasteboard

    最近发现支付宝和淘宝使用吱口令和淘口令的功能,就一直想怎么实现的,觉得应该是使用了系统的剪切板,然后查阅了资料做下笔记! 系统的剪切板主要是使用了UIPasteboard这个类. UIPasteboa ...

  9. UIPasteboard

    1.UIPasteboard 简介 顾名思义,UIPasteboard 是剪切板功能,因为 iOS 的原生控件 UITextField.UITextView.UIWebView, 我们在使用时如果长按 ...

随机推荐

  1. XMind快捷键

    XMind 是一款非常实用的思维导图软件,可以画各种结构图鱼骨图.二维图.树形图.逻辑图.组织结构图等!下面是常用的快捷键统计! 快捷鍵(Windows) 快捷鍵(Mac) 描述 Ctrl+N Com ...

  2. Monyer's Game 11~15关过关方法

    到目前为止,玩这个小游戏并过关的人数已经达到了81人,首先Monyer要感谢各位的捧场与支持.继续上次的<Monyer's Game 6~10关过关方法>,我们来看剩下几关的过关方法. 但 ...

  3. BIG biang教你误删oracle 怎么办,

    今天无意中在网上看到了关于oracle误删除数据恢复的一条信息,发现的确很好使,下面就我的测试向大家汇报下. 1. select * from t_viradsl2 t         //查询t_v ...

  4. Java API 快速速查宝典

    Java API 快速速查宝典 作者:明日科技,陈丹丹,李银龙,王国辉 著 出版社:人民邮电出版社 出版时间:2012年5月 Java编程的最基本要素是方法.属性和事件,掌握这些要素,就掌握了解决实际 ...

  5. javascript特效实现(4)——当前时间和倒计时效果

    这个效果的实现关键是对Date对象和setTimeout的使用. 一共有三个例子,HTML结构如下,就不添加CSS样式了. <body> 当前时间:<p id="p1&qu ...

  6. mysql启动不成功显示The server quit without updating PID file的解决方法

    上午在编译安装mysql的时候 就出现标题中的错误,经实践在第二步操作后启动成功,参考链接 链接http://linuxadministrator.pro/blog/?p=225 You may fa ...

  7. 【嵌入式开发板】8月终极暑促迅为Cortex-a9四核入门开发板

    核心板参数 尺寸 50mm*60mm 高度 连同连接器在内0.26cm CPU Exynos4412,四核Cortex-A9,主频为1.4GHz-1.6GHz 内存 1GB 双通道 DDR3(2GB  ...

  8. NOIP2013普及组 -SilverN

    T1  计数问题 题目描述 试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1 到 11 中,即在 1.2.3.4.5.6.7.8.9.10.11 中, ...

  9. PCTF-2016-WEB

    Pctf ** web100 PORT51**  开始看到这个真的无法下手,想过用python–socket编程或者scapy发包.自己觉得是可以的,但是没有去试,后面看一大神writeup,知道: ...

  10. MAC在Finder栏显示所浏览文件夹路径的方法

    我们在使用MAC时,Finder栏默认只显示当前浏览的文件夹名称,而没有显示访问路径,这个问题该怎么解决呢? 操作步骤: 打开“终端”(应用程序->实用工具),输入以下两条命令: default ...