我有一个具有图像视图,UILabel和TextView的tableview单元。我希望用户长按TextView时能够从TextView中选择文本。
我为该单元格创建了一个手势识别器,当用户长按该单元格时,该手势识别器被调用,但是我没有菜单或光标供用户选择文本和然后复制它。下面是将长按附加到UITableView单元格的代码
UILongPressGestureRecognizer* longPressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(LongPressgesture:)];
[tableView addGestureRecognizer:longPressRecognizer];
我还有以下被调用的代码
- (void)LongPressgesture:(UILongPressGestureRecognizer *)gesture{
if (gesture.state == UIGestureRecognizerStateEnded) {
NSLog(@"Long press Ended .................");
}
else {
NSLog(@"Long press detected .....................");
}
}
该函数被调用,因此我在输出日志中看到消息“ Long press Detected”,但没有菜单来复制文本。我尝试在“长按”部分创建菜单,如下所示:
UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Copy" action:@selector(copyText:)];
UIMenuController *menuCont = [UIMenuController sharedMenuController];
[menuCont setTargetRect:CGRectMake(10, 100, 400, 400) inView:tableview];
menuCont.arrowDirection = UIMenuControllerArrowDown;
menuCont.menuItems = [NSArray arrayWithObject:menuItem];
[menuCont setMenuVisible:YES animated:YES];
但是没有调用复制文本功能,并且没有菜单。
谢谢!