У меня есть ячейка таблицы, в которой есть изображение, UILabel и TextView. Я хочу, чтобы пользователь мог выбирать текст из 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 .....................");
}
}
Функция вызывается, поэтому я вижу сообщение «Долгое нажатие обнаружено» в выходном журнале, но я не получаю меню для копирования текста. Я попытался создать меню в разделе «Долгое нажатие» следующим образом:
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];
Но функция копирования текста не вызывается, и меню отсутствует.
Спасибо!