//
// HLLabBaseClass.m
// HLToaster
//
// Created by mac on 16/7/14.
// Copyright © 2016年 mac. All rights reserved.
//
#import "HLLabBaseClass.h"
@implementation HLLabBaseClass
- (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;
NSLog(@"%@",self.text);
}
//UILabel默认是不接受事件的,我们需要自己添加touch事件
- (void)attachTapHandler
{
self.userInteractionEnabled = YES;
UILongPressGestureRecognizer *touch = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[self addGestureRecognizer:touch];
}
- (void)awakeFromNib
{
[super awakeFromNib];
[self attachTapHandler];
}
//绑定事件
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self attachTapHandler];
}
return self;
}
- (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];
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end