显示

时间:2016-08-11 08:52:14

标签: ios objective-c ipad uipopovercontroller first-responder

我已经构建了一个iPad UI,我从自定义UIViewController类中呈现了一个UIPopoverPresentationController。 UI由具有多个单元格的UICollectionView组成,每个单元格包含一个将显示弹出框的按钮。 popover将sourceRect和sourceView属性设置为该按钮的相应属性;框架和超视图。

在这个popover中,有一个UITextField。在自定义UIViewController初始化并显示之后第一次选择此字段时,键盘出现之前会有很长的延迟(大约10秒)。在此过程中没有控制台输出。随后的键盘演示如丝般顺滑。委托方法popoverPresentationController:willRepositionPopoverToRect:inView在这里根本没有被调用,而其他委托方法按预期触发。

我也尝试在相同的情况下使用旧的UIPopoverController,产生相同的结果。

应该注意的是,UI仅是横向模式,并且弹出窗口延伸到屏幕的底部,因此在呈现时,弹出窗口调整大小以容纳键盘。我怀疑是这种调整会导致延迟,但我没有任何实际依据这一点。

有没有人看到过这种行为和/或能够以某种方式克服它?它对我来说就像是苹果公司的一个臭虫,因为它只是第一次发生......但这对我没什么帮助。

感谢所有建议和想法。

此外,如果有足够声誉的人阅读此内容可以为较新的UIPopoverPresentationController创建标签,那就太棒了。

1 个答案:

答案 0 :(得分:0)

万一其他人遇到相同的情况,问题就在于调试器。

仅在连接到调试器时才会出现史诗延迟。无需调试即可运行相同的构建,一切运行顺畅。

所以我花了1.5天调试一个不存在的错误。我做了一个复制器,所以我将向Apple提交一份错误报告。