您的位置:首页 > 产品设计 > UI/UE

UICopyLable

2015-11-18 17:29 435 查看
- (BOOL)canBecomeFirstResponder

{

return YES;

}

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

{

return (action == @selector(copy:));

}

- (void)copy:(id)sender

{

UIPasteboard *pboard = [UIPasteboard generalPasteboard];

pboard.string = self.text;

}

//UILabel默认是不接收事件的,我们需要自己添加touch事件

-(void)attachTapHandler

{

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

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

touch.numberOfTapsRequired = 2;

[self addGestureRecognizer:touch];

}

//绑定事件

- (id)initWithFrame:(CGRect)frame

{

self = [super initWithFrame:frame];

if (self)

{

[self attachTapHandler];

}

return self;

}

//同上

-(void)awakeFromNib

{

[super awakeFromNib];

[self attachTapHandler];

}

-(void)handleTap:(UIGestureRecognizer*) recognizer

{

[self becomeFirstResponder];

UIMenuItem *copyLink = [[UIMenuItem alloc] initWithTitle:@"复制"

action:@selector(copy:)];

[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObjects:copyLink, nil]];

[[UIMenuController sharedMenuController] setTargetRect:self.frame inView:self.superview];

[[UIMenuController sharedMenuController] setMenuVisible:YES animated: YES];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: