在 UIWebView 中隐藏 sharedmenucontroller 中的额外项目
Posted
技术标签:
【中文标题】在 UIWebView 中隐藏 sharedmenucontroller 中的额外项目【英文标题】:Hide extra items from sharedmenucontroller in UIWebView 【发布时间】:2014-01-24 10:13:00 【问题描述】:我试图在 UIWebView 中显示 UIMenuController,它显示正确,但显示默认项。我试图通过在canPerformAction中禁止操作来删除它,但它仍然不起作用,虽然这个方法正在被UIMenuController调用
这是 MyWebView,它是 UIWebView 的子类
@implementation MyWebView
- (void) displayMenu: (NSString *) word atX: (int) x atY: (int) y
[self becomeFirstResponder];
UIMenuController *menuCont = [UIMenuController sharedMenuController];
CGRect selectionRect = CGRectMake(x, y, 0, 0);
[menuCont setTargetRect:selectionRect inView:self];
menuCont.arrowDirection = UIMenuControllerArrowUp;
menuCont.menuItems = [[NSArray alloc] init];
[menuCont setMenuVisible:YES animated:YES];
- (BOOL)canBecomeFirstResponder return YES;
我通过从 canPerformAction 返回 NO 禁用了每个操作,但它仍然显示它们。
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
NSLog(@" Can perform action? %@ %s", sender, sel_getName(action));
return NO;
这是我看到的:
任何想法如何删除这些默认操作?
【问题讨论】:
【参考方案1】:好的,我想明白了。
我还有一个
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
return NO;
在我的视图控制器中,在我删除它之后,它开始正常工作,尽管仍然不清楚为什么这是一个问题,因为这个方法无论如何都返回 NO。
【讨论】:
以上是关于在 UIWebView 中隐藏 sharedmenucontroller 中的额外项目的主要内容,如果未能解决你的问题,请参考以下文章
Swift:在 UIWebview Scroll 上隐藏 UIStackView