欢迎来到天天文库
浏览记录
ID:36681961
大小:769.51 KB
页数:12页
时间:2019-05-13
《ios开发之详解剪贴板》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在iOS中,可以使用剪贴板实现应用程序之中以及应用程序之间实现数据的共享。比如你可以从iPhoneQQ复制一个url,然后粘贴到safari浏览器中查看这个链接的内容。概述在iOS中下面三个控件,自身就有复制-粘贴的功能:1、UITextView2、UITextField3、UIWebViewUIKitframework提供了几个类和协议方便我们在自己的应用程序中实现剪贴板的功能。1、UIPasteboard:我们可以向其中写入数据,也可以读取数据2、UIMenuController:显示一个快
2、捷菜单,用来复制、剪贴、粘贴选择的项。3、UIResponder中的canPerformAction:withSender:用于控制哪些命令显示在快捷菜单中。4、当快捷菜单上的命令点击的时候,UIResponderStandardEditActions将会被调用。下面这些项能被放置到剪贴板中1、UIPasteboardTypeListString—字符串数组,包含kUTTypeUTF8PlainText2、UIPasteboardTypeListURL—URL数组,包含kUTTypeURL3、U
3、IPasteboardTypeListImage—图形数组,包含kUTTypePNG和kUTTypeJPEG4、UIPasteboardTypeListColor—颜色数组剪贴板的类型分为两种:系统级:使用UIPasteboardNameGeneral和UIPasteboardNameFind,系统级应用程序关闭,或者卸载的数据不会丢失。应用程序级:通过设置,可以让数据在应用程序关闭之后仍然保存在剪贴板中,但是应用程序卸载之后数据就会失去。我们可用通过pasteboardWithName:cre
4、ate:来创建。了解这些之后,下面通过一系列的例子来说明如何在应用程序中使用剪贴板。例子:一、复制剪贴文本。下面通过一个例子,可以在tableview上显示一个快捷菜单,上面只有复制按钮,复制tableview上的数据之后,然后粘贴到title上。定义一个单元格类CopyTableViewCell,在这个类的上显示快捷菜单,实现复制功能。@interfaceCopyTableViewCell:UITableViewCell{iddelegate;}@property(nonatomic,reta
5、in)iddelegate;@end实现CopyTableViewCell,实现粘贴:viewplain1#import"CopyTableViewCell.h"23@implementationCopyTableViewCell45@synthesizedelegate;67-(id)initWithStyle:(UITableViewCellStyle)stylereuseIdentifier:(NSString*)reuseIdentifier{8if((self=[superinitWi
6、thStyle:stylereuseIdentifier:reuseIdentifier])){9}10returnself;11}12-(void)setSelected:(BOOL)selectedanimated:(BOOL)animated{13[supersetSelected:selectedanimated:animated];14}15-(void)setHighlighted:(BOOL)highlightedanimated:(BOOL)animated{16[[selfde
7、legate]performSelector:@selector(showMenu:)17withObject:selfafterDelay:0.9f];1819[supersetHighlighted:highlightedanimated:animated];2021}22-(BOOL)canBecomeFirstResponder23{24returnYES;25}26-(BOOL)canPerformAction:(SEL)actionwithSender:(id)sender{27if
8、(action==@selector(cut:)){28returnNO;29}30elseif(action==@selector(copy:)){31returnYES;32}33elseif(action==@selector(paste:)){34returnNO;35}36elseif(action==@selector(select:)){37returnNO;38}39elseif(action==@selector(selectAll:)){40returnNO;41}42els
此文档下载收益归作者所有