UILable 长按复制

2016-09-07  本文已影响7人  小雨雨儿

1.添加长按的手势

UILongPressGestureRecognizer *longGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(showMenuAction:)];
[self.lable setUserInteractionEnabled:YES];
[self.lable addGestureRecognizer:longGesture];

2.实现方法

- (BOOL)canBecomeFirstResponder{
    return YES;
}

- (BOOL)canPerformAction:(SEL)selector withSender:(id) sender {
    if (selector == @selector(copy:)) {
        return YES;
    }
    return NO;
}

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

- (void)showMenuAction:(UILongPressGestureRecognizer *)sender {
    if (sender.state == UIGestureRecognizerStateBegan) {
        
        [self becomeFirstResponder];
        
        CGPoint location = [sender locationInView:[sender view]];
        
        UIMenuController *menuController = [UIMenuController sharedMenuController];
        [menuController setTargetRect:CGRectMake(location.x, location.y, 0.0f, 0.0f) inView:sender.view];
        
        [menuController setMenuVisible:YES animated:YES];
    }
}

上一篇下一篇

猜你喜欢

热点阅读