Iphone 自定义UIMenuController以获取tableView索引或从默认UIMenuController中删除不需要的选项
我正在应用程序中实现Iphone 自定义UIMenuController以获取tableView索引或从默认UIMenuController中删除不需要的选项,iphone,uigesturerecognizer,uimenucontroller,Iphone,Uigesturerecognizer,Uimenucontroller,我正在应用程序中实现UIMenuController,以从自定义tableviewCell复制文本 我有两个选择 备选案文1。使用TableViewShouldShowMenuForrowatineXpathdelegates方法 备选案文2。使用自定义UIMenuController。为此,我在视图中添加了(长按/双击)手势识别器。(我不想将didSelect用于其他用途) 我真正想做的是——当我(长按/双击)在tableView中时,只显示复制选项,并捕获该tableView的indexPa
UIMenuController
,以从自定义tableviewCell复制文本
我有两个选择
备选案文1。使用TableViewShouldShowMenuForrowatineXpath
delegates方法
备选案文2。使用自定义UIMenuController
。为此,我在视图中添加了(长按/双击)手势识别器。(我不想将didSelect用于其他用途)
我真正想做的是——当我(长按/双击)在tableView中时,只显示复制选项,并捕获该tableView的indexPath
选项1的问题是,它默认提供三个选项,即剪切、复制和粘贴。
选项2的问题是,我无法获取表的索引,因为我的长按手势识别器方法没有indexPath的信息
有什么方法可以让这两件事都起作用吗(只有复制选项和在手势上获取indexPath)。选项2可以。
您可以从long-press方法获得indexpath
if (recognizer.state == UIGestureRecognizerStateBegan) {
UITableView *cell = (UITableView *)recognizer.view;
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setMenuItems:[NSArray arrayWithObjects:flag, approve, nil]];
[menu setTargetRect:cell.frame inView:cell.superview];
[menu setMenuVisible:YES animated:YES];
}
记住类中的indexpath并从中获得访问权限。Dupe of