【发布时间】:2015-05-29 11:28:15
【问题描述】:
我有一个 iPad 应用程序,其中 UIWebView 正在加载一个 html 页面,该页面由 href 标记中的 n 个电话号码组成。
点击这些电话号码后,iOS 默认的contextual 菜单(如弹出式控制器)会显示 3 个默认选项,例如 --- 发送消息、添加到联系人和复制。
在某个时间点,我只是将所有UIViewController 弹出到rootViewController,所以当这个动作被执行时,如果这个contextual 菜单显示在屏幕上,那么即使当视图来自rootViewController 视图,该视图由UIWebView 和电话号码组成。我猜这是因为contextual 菜单是从UIWindow 显示的(比如UIAlertView)。
此时我想以编程方式关闭或隐藏此 contextual 菜单。
我已经尝试通过以下尝试来实现这一目标,
1) 在viewDidDisappear,
[UIMenuController sharedMenuController].menuVisible = NO;
2)我尝试了如下快速枚举,
for (UIView *subView in view.subviews){
if ([subView isKindOfClass:[UIPopoverController class]]) {
[(UIPopoverController *)subViews dismissPopoverAnimated:YES];
}
}
//similiarly I tried by checking for UIMenuController as well
上述尝试均未成功实现这一目标。
谁能告诉我如何以编程方式关闭UIWebView 的contextual 菜单?
提前感谢任何帮助。
【问题讨论】:
标签: ios objective-c uiwebview