我在 View Controller 上有一个 UITable 和一个 UITextView。当我长按 tableviewcell 时,我想有一个带有选项“复制”和“信息”的自定义 UIMenuController,并且我想在 UITextView 的长按上有默认的 UIMenuController。
我搜索了一个解决方案,现在我可以创建一个自定义 UIMenuItem 'Info'。但是,当我长按 UITextView 时,我看到还附加了“信息”。
如何仅为 UITableView 而不是 UITextView 设置自定义 UIMenuController?我想要 UITextView 中的默认选项。
最佳答案
在这里有点晚了,我也遇到了同样的问题,默认 UIMenuController 默认项被添加到自定义项中,因为它是跨应用程序的共享实例控件。你应该继承你的 UITextView 并添加方法:
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if ( action== @selector(yourMethodInfo:)) {
return NO; }
return YES;
}
也不要使用 UIMenuController 的 sharedInstance 并为您的 Custom TextView 子类创建一个单独的对象并使用它。从 UITableView 调用 UIMenuController 后,您应该执行
[menuController setMenuItems:nil];
[menuController setMenuVisible:NO]; [menuController update]; menuController= nil;
在选择器方法上选择菜单项后。如果有人需要更多引用,请告诉我,我可以提供更多解释。
关于ios - 自定义 UIMenuController 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22165487/