資源描述:
《ios軟件開發(fā)之詳解剪貼板》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、iOS軟件開發(fā)之詳解剪貼板在iOS中,可以使用剪貼板實(shí)現(xiàn)應(yīng)用程序之中以及應(yīng)用程序之間實(shí)現(xiàn)數(shù)據(jù)的共享。比如你可以從iPhoneQQ復(fù)制一個(gè)url,然后粘貼到safari瀏覽器中查看這個(gè)鏈接的內(nèi)容。概述在iOS中下面三個(gè)在iOS中,可以使用剪貼板實(shí)現(xiàn)應(yīng)用程序之中以及應(yīng)用程序之間實(shí)現(xiàn)數(shù)據(jù)的共享。比如你可以從iPhoneQQ復(fù)制一個(gè)url,然后粘貼到safari瀏覽器中查看這個(gè)鏈接的內(nèi)容。概述在iOS中下面三個(gè)控件,自身就有復(fù)制-粘貼的功能:1、UITextView2、UITextField3、UIWebViewUIKitframework提供了幾個(gè)類和協(xié)議方便我們?cè)谧约旱膽?yīng)用程
2、序中實(shí)現(xiàn)剪貼板的功能。1、UIPasteboard:我們可以向其中寫入數(shù)據(jù),也可以讀取數(shù)據(jù)2、UIMenuController:顯示一個(gè)快捷菜單,用來復(fù)制、剪貼、粘貼選擇的項(xiàng)。3、UIResponder中的canPerformAction:withSender:用于控制哪些命令顯示在快捷菜單中。4、當(dāng)快捷菜單上的命令點(diǎn)擊的時(shí)候,UIResponderStandardEditActions將會(huì)被調(diào)用。下面這些項(xiàng)能被放置到剪貼板中1、UIPasteboardTypeListString—??字符串?dāng)?shù)組,包含kUTTypeUTF8PlainText2、UIPasteboardT
3、ypeListURL—??URL數(shù)組,包含kUTTypeURL3、UIPasteboardTypeListImage—??圖形數(shù)組,包含kUTTypePNG和kUTTypeJPEG4、UIPasteboardTypeListColor—??顏色數(shù)組剪貼板的類型分為兩種:系統(tǒng)級(jí):使用UIPasteboardNameGeneral和UIPasteboardNameFind,系統(tǒng)級(jí)應(yīng)用程序關(guān)閉,或者卸載的數(shù)據(jù)不會(huì)丟失。應(yīng)用程序級(jí):通過設(shè)置,可以讓數(shù)據(jù)在應(yīng)用程序關(guān)閉之后仍然保存在剪貼板中,但是應(yīng)用程序卸載之后數(shù)據(jù)就會(huì)失去。我們可用通過pasteboardWithName:crea
4、te:來創(chuàng)建。了解這些之后,下面通過一系列的例子來說明如何在應(yīng)用程序中使用剪貼板。?例子:一、復(fù)制剪貼文本。???下面通過一個(gè)例子,可以在tableview上顯示一個(gè)快捷菜單,上面只有復(fù)制按鈕,復(fù)制tableview上的數(shù)據(jù)之后,然后粘貼到title上。定義一個(gè)單元格類CopyTableViewCell,在這個(gè)類的上顯示快捷菜單,實(shí)現(xiàn)復(fù)制功能。?@interfaceCopyTableViewCell:UITableViewCell{???iddelegate;}@property(nonatomic,retain)iddelegate;@end?實(shí)現(xiàn)CopyTableVi
5、ewCell,實(shí)現(xiàn)粘貼:viewplain1.#import?"CopyTableViewCell.h"??2.??3.@implementation?CopyTableViewCell??4.??5.@synthesize?delegate;??6.??7.-?(id)initWithStyle:(UITableViewCellStyle)style?reuseIdentifier:(NSString?*)reuseIdentifier?{??8.????if?((self?=?[super?initWithStyle:style?reuseIdentifier:reu
6、seIdentifier]))?{??9.????}??10.????return?self;??11.}??12.-?(void)setSelected:(BOOL)selected?animated:(BOOL)animated?{??13.????[super?setSelected:selected?animated:animated];??14.}??15.-?(void)setHighlighted:(BOOL)highlighted?animated:(BOOL)animated?{??16.????[[self?delegate]?performSelec
7、tor:@selector(showMenu:)???17.??????????????????????????withObject:self?afterDelay:0.9f];??18.??????19.????[super?setHighlighted:highlighted?animated:animated];??20.??21.}??22.-?(BOOL)canBecomeFirstResponder???23.{??24.????return?YES;??25.}??26.-?(BOOL)canPerformAct