亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS中UILabel實現長按復制功能實例代碼

2020-02-19 15:45:17
字體:
來源:轉載
供稿:網友

IOS開發過程中,我們會用到uilabel進行顯示內容,而復制上面的內容,可以使用label的長按復制功能進行操作,下面是武林技術頻道小編介紹的iOS中UILabel實現長按復制功能實例代碼,一起來看看吧!

前言

網上有很多種給Label添加長按復制功能的方法,而在 UILabel 上實現長按復制,我用的是 UIMenuController。在 UITextView、UITextField 中,已經自帶了這個東西,但是在 UILabel 上需要自定義。

鑒于有的朋友很少接觸 UIMenuController,這里先介紹一些基本知識。

UIMenuController 可以使用系統自帶的方法,也可以自定義。

系統默認支持UITextField、UITextView、UIWebView控件的UIMenuController相關操作

更多UIMenuController使用請參考這篇文章:http://www.49028c.com/article/87000.htm

常見的系統方法和使用

- (void)cut:(nullable id)sender NS_AVAILABLE_IOS(3_0);- (void)copy:(nullable id)sender NS_AVAILABLE_IOS(3_0);- (void)paste:(nullable id)sender NS_AVAILABLE_IOS(3_0);- (void)select:(nullable id)sender NS_AVAILABLE_IOS(3_0);- (void)selectAll:(nullable id)sender NS_AVAILABLE_IOS(3_0);- (void)delete:(nullable id)sender NS_AVAILABLE_IOS(3_2);

從字面意思就能看出,他們是剪切、復制、粘貼、選擇、全選、刪除。使用方法很簡單。

// 比如我在一個 UITextView 里,想增加全選和復制的方法// 只要在自定義 UITextView 的時候加入這行代碼即可- (BOOL)canPerformAction:(SEL)action withSender:(id)sender { if(action == @selector(selectAll:) || action == @selector(copy:)) return YES; return NO;}

細心的朋友可能會發現,最后長按出來的文字都是英文,我們改如何把他改成中文呢?如圖,在 Project -> Info -> Localizations 中添加 Chinese(Simplified) 即可。

自定義方法和使用

回到主題,我們要在 UILabel 上加入長按復制事件,但是他本身是不支持 UIMenuController 的,所以接下來講講自定義方法。

自定義一個 UILabel,設置label可以成為第一響應者

- (BOOL)canBecomeFirstResponder { return YES;}

設置長按事件,在初始化的時候調用這個方法

- (void)setUp { /* 你可以在這里添加一些代碼,比如字體、居中、夜間模式等 */ self.userInteractionEnabled = YES; [self addGestureRecognizer:[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPress)]];}

長按事件,在里面新建 UIMenuController

- (void)longPress {  // 設置label為第一響應者 [self becomeFirstResponder];  // 自定義 UIMenuController UIMenuController * menu = [UIMenuController sharedMenuController]; UIMenuItem * item1 = [[UIMenuItem alloc]initWithTitle:@"復制" action:@selector(copyText:)]; menu.menuItems = @[item1]; [menu setTargetRect:self.bounds inView:self]; [menu setMenuVisible:YES animated:YES];}

設置label能夠執行那些

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender { if(action == @selector(copyText:)) return YES; return NO;}// 如果模仿上面的寫以下代碼,點擊后會導致程序崩潰if(action == @selector(selectAll:) || action == @selector(copy:)) return YES; 

方法的具體實現

- (void)copyText:(UIMenuController *)menu { // 沒有文字時結束方法 if (!self.text) return; // 復制文字到剪切板 UIPasteboard * paste = [UIPasteboard generalPasteboard]; paste.string = self.text; }

最終效果:

附上 DEMO?(本地下載),自定義的 UILabel 可以直接拖走使用

以上就是武林技術頻道小編帶給大家的iOS中UILabel實現長按復制功能實例代碼,相信大家在瀏覽過后一定了解和認識到了,希望能幫到大家!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
zzjj国产精品一区二区| 欧美老女人性生活| 国产成人综合精品在线| 亚洲视频在线观看| 亚洲成人网在线观看| 国产精品wwww| 亚洲japanese制服美女| 午夜精品久久久99热福利| 亚洲国产精品电影在线观看| 国产精品96久久久久久又黄又硬| 亚洲性无码av在线| 国产不卡视频在线| 久久亚洲综合国产精品99麻豆精品福利| 国内精品国产三级国产在线专| 国产精品av网站| 日韩欧美国产免费播放| 欧美日韩激情视频| 日韩av影视综合网| 国产精品久久久久久中文字| 97视频在线免费观看| 日本久久久a级免费| 狠狠色噜噜狠狠狠狠97| 国产成一区二区| 国产精品一区二区久久精品| 1769国内精品视频在线播放| 国产精品视频xxxx| 亚洲japanese制服美女| 97色在线视频观看| 亚洲成成品网站| 亚洲精品自拍第一页| 亚洲国产精品999| 97免费在线视频| 日韩欧美精品在线观看| 国产精品网址在线| 欧美精品久久久久久久久| 国产97人人超碰caoprom| 欧美午夜激情在线| 成人黄色短视频在线观看| 欧美丰满老妇厨房牲生活| 在线亚洲欧美视频| 美女av一区二区| 亚洲综合一区二区不卡| 日本免费在线精品| 日韩av电影在线网| 久久影视电视剧免费网站| 亚洲а∨天堂久久精品喷水| 亚洲黄色av女优在线观看| 亚洲国产欧美日韩精品| 2019精品视频| 伊人久久久久久久久久久| 久久久久久尹人网香蕉| 国产成人午夜视频网址| 亚洲另类xxxx| 成人免费看吃奶视频网站| 国模精品视频一区二区| 91爱视频在线| 精品呦交小u女在线| 97久久久免费福利网址| 不用播放器成人网| 都市激情亚洲色图| 国产日韩欧美电影在线观看| 久久亚洲精品视频| 欧美在线国产精品| 国产成人中文字幕| 在线观看国产成人av片| 欧美视频在线看| 亚洲人永久免费| 中文字幕日韩在线观看| 欧美另类99xxxxx| 久久久久亚洲精品国产| 欧美激情一级精品国产| 亚洲免费一在线| 国产精品美女久久久久av超清| 精品国产一区二区三区在线观看| 欧美日韩亚洲网| 亚洲综合中文字幕68页| 色婷婷av一区二区三区久久| 欧美中文字幕第一页| 久久精品欧美视频| 91久久精品美女高潮| 高清欧美性猛交xxxx黑人猛交| 日本19禁啪啪免费观看www| 国产精品普通话| 亚洲国产欧美在线成人app| 日韩欧美国产视频| 亚洲精品福利资源站| 成人黄色短视频在线观看| 亚洲自拍在线观看| 亚洲白拍色综合图区| 中文字幕日韩在线播放| 亚洲一区二区三区成人在线视频精品| 国产999精品久久久| 97精品久久久中文字幕免费| 日韩国产精品一区| 91国偷自产一区二区三区的观看方式| 国产精品久久久久久久7电影| 欧美精品日韩三级| 5566成人精品视频免费| 亚洲自拍偷拍一区| 青青久久av北条麻妃海外网| 亚洲综合av影视| 视频在线观看一区二区| 国产精品一区二区久久精品| 国产精品女主播| 高清在线视频日韩欧美| 亚洲欧美国产日韩天堂区| 在线观看精品国产视频| 成人两性免费视频| 4k岛国日韩精品**专区| 俺去了亚洲欧美日韩| 17婷婷久久www| 国产精品直播网红| 久久夜色撩人精品| 精品国产91久久久久久老师| 久久久久国产精品免费网站| 国产精品久久久久久久久粉嫩av| 欧美激情精品久久久久久黑人| 日本久久精品视频| 国产成人精品国内自产拍免费看| 在线观看国产精品淫| 国产女人18毛片水18精品| 欧美成aaa人片免费看| 91美女高潮出水| 91精品久久久久久久久久久| 中文字幕日韩欧美在线视频| 欧美大秀在线观看| 欧美大成色www永久网站婷| 国产91热爆ts人妖在线| 欧美中文字幕视频在线观看| 亚洲成在人线av| 久久99国产精品久久久久久久久| 欧美日韩国产综合新一区| 久久免费精品日本久久中文字幕| 国内精品一区二区三区四区| 日韩在线观看网址| 国产欧美一区二区白浆黑人| 亚洲天堂免费视频| 4388成人网| 亚洲欧美另类在线观看| 久久精品国产欧美亚洲人人爽| 久久久久久久999精品视频| 精品国产一区久久久| 亚洲护士老师的毛茸茸最新章节| 91大神福利视频在线| 69av在线播放| 久久久亚洲国产| 欧美日韩国产第一页| 精品久久久久久久久久久久| 久久久久999| 日韩av中文在线| 中文字幕欧美精品日韩中文字幕| 亚洲人成网7777777国产| 日韩免费在线观看视频| 麻豆一区二区在线观看| 亚州欧美日韩中文视频| 欧美日韩国产成人在线观看| 亚洲第一av在线| www日韩欧美| 青青草成人在线| 亚洲男人天堂手机在线| 亚洲性线免费观看视频成熟| 欧美成人中文字幕在线| 国产精品久久久久久久久久久久| 中文字幕视频在线免费欧美日韩综合在线看|