iOS 長按復(fù)制內(nèi)容的Label (類似微信)

先上效果圖:

000000.gif

寫一個繼承UILabel 的EwenCopyLabel
.m代碼

-(BOOL)canBecomeFirstResponder {
    
    return YES;
}

// 可以響應(yīng)的方法
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    if (action == @selector(newFunc)) {
        return YES;
    }
    return NO;
}

//針對于響應(yīng)方法的實現(xiàn)
-(void)copy:(id)sender {
    
    UIPasteboard *pboard = [UIPasteboard generalPasteboard];
    pboard.string = self.text;
}

//UILabel默認(rèn)是不接收事件的食磕,我們需要自己添加touch事件
-(void)attachTapHandler {
    
    self.userInteractionEnabled = YES;
    UILongPressGestureRecognizer *touch = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
    [self addGestureRecognizer:touch];
}

//綁定事件
- (id)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        
        [self attachTapHandler];
        
        [[NSNotificationCenter defaultCenter] addObserverForName:UIMenuControllerWillHideMenuNotification object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) {
            self.backgroundColor = [UIColor whiteColor];
        }];
    }
    return self;
}

-(void)awakeFromNib {
    
    [super awakeFromNib];
    [self attachTapHandler];
}

-(void)handleTap:(UIGestureRecognizer*) recognizer {
  
    if (recognizer.state == UIGestureRecognizerStateEnded) {
        NSLog(@"111");
        return;
    }else if (recognizer.state == UIGestureRecognizerStateBegan){
        NSLog(@"222");
        [self becomeFirstResponder];
        self.backgroundColor = UIColorRGB(236, 236, 236, 1.0);
        UIMenuItem * item = [[UIMenuItem alloc]initWithTitle:@"復(fù)制" action:@selector(newFunc)];
        [[UIMenuController sharedMenuController] setTargetRect:self.frame inView:self.superview];
        [UIMenuController sharedMenuController].menuItems = @[item];
        [UIMenuController sharedMenuController].menuVisible = YES;
    }
}

-(void)newFunc{
    UIPasteboard *pboard = [UIPasteboard generalPasteboard];
    pboard.string = self.text;
}

GitHub:快捷下載Demo https://github.com/GitHubazuo/LabelCopyDemo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尽棕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子彬伦,更是在濱河造成了極大的恐慌滔悉,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件单绑,死亡現(xiàn)場離奇詭異回官,居然都是意外死亡,警方通過查閱死者的電腦和手機搂橙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門歉提,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人份氧,你說我怎么就攤上這事唯袄。” “怎么了蜗帜?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長资厉。 經(jīng)常有香客問我厅缺,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任湘捎,我火速辦了婚禮诀豁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘窥妇。我一直安慰自己舷胜,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布活翩。 她就那樣靜靜地躺著烹骨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪材泄。 梳的紋絲不亂的頭發(fā)上沮焕,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機與錄音拉宗,去河邊找鬼峦树。 笑死,一個胖子當(dāng)著我的面吹牛旦事,可吹牛的內(nèi)容都是我干的魁巩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼姐浮,長吁一口氣:“原來是場噩夢啊……” “哼歪赢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起单料,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤埋凯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后扫尖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體白对,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年换怖,在試婚紗的時候發(fā)現(xiàn)自己被綠了甩恼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡沉颂,死狀恐怖条摸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情铸屉,我是刑警寧澤钉蒲,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站彻坛,受9級特大地震影響顷啼,放射性物質(zhì)發(fā)生泄漏踏枣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一钙蒙、第九天 我趴在偏房一處隱蔽的房頂上張望茵瀑。 院中可真熱鬧,春花似錦躬厌、人聲如沸马昨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸿捧。三九已至,卻和暖如春煮嫌,著一層夾襖步出監(jiān)牢的瞬間笛谦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工昌阿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留饥脑,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓懦冰,卻偏偏與公主長得像灶轰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子刷钢,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,290評論 25 707
  • 你說:別再登錄了内地,讓它自動注銷吧伴澄。 我說:好。 聞風(fēng)聽語隨著畢業(yè)“壽終正寢”阱缓,意料之中非凌。但我還是很難過。我們這群人...
    胖格格格閱讀 375評論 0 1
  • 不是因為 我變了 所以不再喜歡 而是倘若 心變了 就只能看到滿眼的錯 努力變成你喜歡的樣子 又能怎樣 你眼睛的反射...
    子執(zhí)年華閱讀 265評論 0 2