当我们在UIWebView中突出显示文本时,通常会出现复制,粘贴,定义等。我如何拦截这个,以便当我选择复制时,我会调用其他方法/做其他事情。这可能吗?
当在webview中突出显示文本时,会出现一个popover复制/粘贴/等等。有没有办法用其他按钮自定义此popover或使用我自己的自定义视图?我想添加更改文字颜色,突出显示等选项。
答案 0 :(得分:3)
向[UIMenuController sharedMenuController]
添加自定义按钮/操作:
UIMenuItem * highlight = [[UIMenuItem alloc] initWithTitle:@"Highlight" action:@selector(didTapCreateHighlight:)];
[menuItems addObject:highlight];
[UIMenuController sharedMenuController].menuItems = menuItems;
你可以选择这样的项目(显示在UIMenuController
中)这样(这只会显示高亮显示按钮)(写在我的头顶,可能包含一些拼写错误):
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
NSLog(@"action: %@", NSStringFromSelector(action));
if (action == @selector(didTapCreateHighlight:)) {
return YES;
} else {
return NO;
}
}
我不确定是否可能或如何改变系统方法。它可能像覆盖copy:
等方法一样简单。查看文档here。希望这会有所帮助。