微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

objective-c – _UIFallbackPresentationViewController

当我解除在iPhone上的UIWebView中点击UIMenuController上的定义打开的字典时,我一直收到以下错误: –
Unbalanced calls to begin/end appearance transitions for <_UIFallbackPresentationViewController: 0x10ab9640>.

在此错误之后,UIMenuController在任何UIWebView中都会停止显示.

有什么想法在这里发生了什么?

更新:错误实际显示在字典视图打开时,而不是在解除它时.

更新2:错误是应用程序范围.在任何地方都有可选择的文本(即webview,textview等)我只能使用一次定义字典.此错误显示为&然后,我必须退出应用程序&再次启动它,使用字典.

解决方法

终于找到了答案.当字典由系统呈现时,它的窗口会获得焦点(请参阅makeWeyAndVisible:在UIWindow中),这很棒.当解除持有字典的窗口没有正确地给主应用程序窗口后焦点的位置时出现问题.

如果在字典出现之前和之后打印出[UIApplication sharedApplication] .keyWindow,那么您将看到应用程序窗口之前是如何键和可见的,之后它是一个不同的窗口.对我来说,我有一个单独的窗口,用于存放在状态栏顶部的应用程序消息,而那个是在字典被解除后的keyAndVisible.

所以我需要做的就是修复它,我的UIWindow子类中有以下覆盖方法错误地获得了焦点:

- (void) makeKeyWindow {
  AppDelegate * appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
  [appDelegate.window makeKeyAndVisible];
}

我不确定这对那些如果你没有自己的UIWindow可以集中注意力,但绝对最坏的情况你可以添加一个虚拟UIWindow,它将获得焦点并从上面添加完全相同的代码片段.

原文地址:https://www.jb51.cc/c/119361.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐