在我的应用程序中,我有一个UISearchBarinside 模态呈现 (as a formSheet) UIViewController。由于我需要立即显示键盘,因此被searchBar.becomeFirstResponder()调用viewDidAppear。
我注意到,在某些不确定的情况下,我看不到UICalloutBar在搜索栏中粘贴文本的内容。UICalloutBar丢失的大部分时间是在来回切换应用程序并再次复制粘贴一些文本之后。
还使用“调试视图层次结构”进行检查表明,无论何时UICalloutBar丢失,都会出现布局警告“位置和大小不明确” UIKBInputBackdropView。
UITextEffectsWindow 和 UIWindow 看起来像这样:
如您所见,的堆栈中_UIVisualEffectBackdropView缺少UICalloutBar。但是,如果某些文本已存在,则已_UIVisualEffectBackdropView正确绘制。
无论关闭和呈现其他视图,问题都会持续到完整的应用程序重新启动。有时它会在新文本粘贴到单个空间时自行解决,就像上一个屏幕截图一样。
如果有人对此问题的解决方法有任何想法,我会非常高兴。
问题出现在 iOS 13 下的设备上,使用 Xcode 11.5 构建的应用程序。