可以复制的label

原创 2015年11月18日 19:33:39

#import <UIKit/UIKit.h>


@interface NDCopyLabel : UILabel

@property(nonatomic,copy)NSString *obtainText;

@property(nonatomic,copy)NSString *showWord;

@end

#import "NDCopyLabel.h"


@interface NDCopyLabel ()

{

    UIAlertView *alert;

}

@end


@implementation NDCopyLabel


- (instancetype)init

{

    self = [super init];

    if (self) {

        [self attachTapHandler];

    }

    return self;

}


-(BOOL)canBecomeFirstResponder

{

    return YES;

}


-(BOOL)canPerformAction:(SEL)action withSender:(id)sender

{

    if(action == @selector(copy:)){

        return YES;

    }else{

        return [super canPerformAction:action withSender:sender];

    }

}


//针对于响应方法的实现


-(void)copy:(id)sender

{

    UIPasteboard *pboard = [UIPasteboard generalPasteboard];

    

//    pboard.string = self.text;

    pboard.string = self.obtainText;

    alert = [[UIAlertView alloc]initWithTitle:nil message:_showWord delegate:nil cancelButtonTitle:nil otherButtonTitles:nil, nil];

    [alert show];

    [self performSelector:@selector(delayAlert) withObject:nil afterDelay:2.0];

}


-(void)delayAlert

{

    [alert dismissWithClickedButtonIndex:0 animated:YES];

}


-(void)attachTapHandler

{

    self.userInteractionEnabled = YES;  //用户交互的总开关

    

    UITapGestureRecognizer *touch = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];

    [self addGestureRecognizer:touch];

}


-(void)handleTap:(UILongPressGestureRecognizer *)tap

{

    [self becomeFirstResponder];

    UIMenuController * menu = [UIMenuController sharedMenuController];

    [menu setTargetRect: [self frame] inView: [self superview]];

    [menu setMenuVisible: YES animated: YES];

}

/*

// Only override drawRect: if you perform custom drawing.

// An empty implementation adversely affects performance during animation.

- (void)drawRect:(CGRect)rect {

    // Drawing code

}

*/


@end



label的长按复制的功能

经查询,系统中支持复制功能的控件有如下3种:UITextView,UITextField,UIWebView 所以要想用UILabel支持复制功能,如下图所示,则需要自定义一,添加一个label的类...

JavaFX2 - 文本可复制的Label

文本可复制的Label方案,使用TextField,对其外观进行改进,使得看起来像Label
  • alanzyy
  • alanzyy
  • 2015年08月19日 23:05
  • 1906

长按可以复制文字的Label (仿微信)

写一个继承UILabel 的EwenCopyLabel.m代码-(BOOL)canBecomeFirstResponder { return YES; }// 可以响应的方法 -(BOOL)ca...

iOS开发:为Label添加长按复制功能

在iOS开发过程中,有时候会用到UILabel展示的内容,那么就设计到点击UILabel复制它上面展示的内容的功能,也就是Label长按复制功能。网上有很多种给Label添加长按复制功能的方法,这里我...
  • CC1991_
  • CC1991_
  • 2017年06月29日 14:36
  • 1457

Label Matrix

  • 2016年02月23日 17:02
  • 12.56MB
  • 下载

Label--自定义可粘贴复制的Label

在iOS中下面三个控件,自身就有复制-粘贴的功能:  1、UITextView  2、UITextField  3、UIWebView UIKit framework提供了几个类和协议方便我们在自己...

Label_mxAB

  • 2015年05月20日 13:57
  • 17.09MB
  • 下载

完美解决百度地图MarkerClusterer 移动地图时,Marker 的Label 丢失的问题

原文地址:http://www.cnblogs.com/jicheng1014/p/3143859.html ok,描述下症状 当将自定义的Marker(含有Label)通过MarkerCl...
  • wd4java
  • wd4java
  • 2016年01月09日 10:08
  • 3467
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:可以复制的label
举报原因:
原因补充:

(最多只允许输入30个字)