欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS長按UIlabel實現(xiàn)可復(fù)制功能

 更新時間:2016年09月26日 08:41:14   作者:Sunshine_tt  
在我們?nèi)粘5拈_發(fā)中經(jīng)常會遇到一些小需求,比如需要長按控件來拷貝控件中得內(nèi)容,所以這篇文章跟大家分享下iOS中長按UIlabel實現(xiàn)可復(fù)制功能的方法,有需要的朋友們可以參考借鑒。

前言

相信大家都知道在iOS中有三個控件自身是支持拷貝,粘貼的,如:UITextField,UITextView,UIWebView。但是,有時候我們會遇到需要長按UIlabel,彈出“復(fù)制”item,來實現(xiàn)可復(fù)制。那該怎么辦呢?下面就來一起看看吧。

首先UIKit中提供給我們幾個類

在開始之前,我們需要自定義一個WINCopyLabel繼承UILable

- (instancetype)initWithFrame:(CGRect)frame {
 if (self = [super initWithFrame:frame]) {
  [self pressAction];
 }
 return self;
}
// 初始化設(shè)置
- (void)pressAction {
 self.userInteractionEnabled = YES;
 UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressAction:)];
 longPress.minimumPressDuration = 1;
 [self addGestureRecognizer:longPress];
}

1、UIResponder:通過這個類實現(xiàn)UILabel可以響應(yīng)事件(我們知道UIlabel是不能成為響應(yīng)者的,所以這里需要重寫),控制需要響應(yīng)的事件

 // 使label能夠成為響應(yīng)事件
 - (BOOL)canBecomeFirstResponder {
  return YES;
 }
 // 控制響應(yīng)的方法
 - (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
  return action == @selector(customCopy:);
 }

2、UIPasteboard:該類支持寫入和讀取數(shù)據(jù),類似剪貼板

 - (void)customCopy:(id)sender {
 UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
 pasteboard.string = self.text;
 }

3、UIMenuController:可以通過這個類實現(xiàn)在點擊內(nèi)容,或者長按內(nèi)容時展示出復(fù)制、剪貼、粘貼等選擇的項,每個選項都是一個UIMenuItem對象

- (void)longPressAction:(UIGestureRecognizer *)recognizer {
 [self becomeFirstResponder];
 UIMenuItem *copyItem = [[UIMenuItem alloc] initWithTitle:@"拷貝" action:@selector(customCopy:)];
 [[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObjects:copyItem, nil]];
 [[UIMenuController sharedMenuController] setTargetRect:self.frame inView:self.superview];
 [[UIMenuController sharedMenuController] setMenuVisible:YES animated:YES];
}

補充:

一、UIResponderStandardEditActions:這是蘋果給NSObject寫的一個分類,其中包含了我們常用的復(fù)制,粘貼,全選等方法

 - (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);

當(dāng)我們,選中彈出的item時,系統(tǒng)會調(diào)用上面對應(yīng)的方法

二、.以下是剪貼板中可以放置的內(nèi)容(除了字符串,也可以拷貝圖片,URL等)

      1.UIPasteboardTypeListString 字符串?dāng)?shù)組, 包含kUTTypeUTF8PlainText

      2.UIPasteboardTypeListURL URL數(shù)組,包含kUTTypeURL

      3.UIPasteboardTypeListImage 圖形數(shù)組, 包含kUTTypePNG 和kUTTypeJPEG

      4.UIPasteboardTypeListColor 顏色數(shù)組

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望能對各位iOS開發(fā)者們有所幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • 關(guān)于iOS 11下app圖標變空白問題的解決方法

    關(guān)于iOS 11下app圖標變空白問題的解決方法

    升級到iOS11系統(tǒng)下自己的項目桌面app圖標不見了,通過查找相關(guān)的資料終于找到了解決方法,下面這篇文章主要給大家介紹了關(guān)于iOS 11下app圖標變空白問題的解決方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-12-12
  • iOS開發(fā)之UIKeyboardTypeNumberPad數(shù)字鍵盤自定義按鍵

    iOS開發(fā)之UIKeyboardTypeNumberPad數(shù)字鍵盤自定義按鍵

    這篇文章主要介紹了iOS開發(fā)之UIKeyboardTypeNumberPad數(shù)字鍵盤自定義按鍵 的相關(guān)資料,需要的朋友可以參考下
    2016-08-08
  • IOS開發(fā)壓縮后圖片模糊問題解決

    IOS開發(fā)壓縮后圖片模糊問題解決

    這篇文章主要為大家介紹了IOS開發(fā)壓縮后圖片模糊問題解決實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • iOS開發(fā)之級聯(lián)界面(推薦界面)搭建原理

    iOS開發(fā)之級聯(lián)界面(推薦界面)搭建原理

    這篇文章主要為大家詳細介紹了iOS級聯(lián)界面(推薦界面)搭建原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Xcode中代碼注釋編寫的一些小技巧

    Xcode中代碼注釋編寫的一些小技巧

    如何在 Xcode 中編寫規(guī)范注釋,規(guī)范注釋可以在Xcode的快速幫助檢查器(quickheliector)中顯示,這篇文章主要給大家介紹了關(guān)于Xcode中代碼注釋編寫的一些小技巧,需要的朋友可以參考下
    2021-10-10
  • 淺談Xcode 開發(fā)工具 XCActionBar

    淺談Xcode 開發(fā)工具 XCActionBar

    本文主要給大家簡單講解了Xcode的開發(fā)工具 XCActionBar的介紹與使用方法,非常的全面實用,有需要的小伙伴可以參考下。
    2015-11-11
  • iOS實現(xiàn)視頻和圖片的上傳思路

    iOS實現(xiàn)視頻和圖片的上傳思路

    這篇文章主要介紹了iOS實現(xiàn)視頻和圖片的上傳思路,本文分步驟給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • iOS如何巧妙解決NSTimer的循環(huán)引用詳解

    iOS如何巧妙解決NSTimer的循環(huán)引用詳解

    這篇文章主要給大家介紹了關(guān)于iOS如何巧妙解決NSTimer的循環(huán)引用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • Objective-C中NSArray的基本用法示例

    Objective-C中NSArray的基本用法示例

    這篇文章主要介紹了Objective-C中NSArray的基本用法示例,包括基本的排序等方法的介紹,需要的朋友可以參考下
    2015-09-09
  • IOS點擊按鈕隱藏狀態(tài)欄詳解及實例代碼

    IOS點擊按鈕隱藏狀態(tài)欄詳解及實例代碼

    這篇文章主要介紹了IOS點擊按鈕隱藏狀態(tài)欄詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02

最新評論