UICompatibilityInputViewController到底是什么?

项目开发中,我们在跟踪线上bugly时,经常会遇到【UICompatibilityInputViewController 】willappear时崩溃的问题(如下),但我们搜索整个项目后发现,其中没有这个控制器,那UICompatibilityInputViewController到底是什么呢?


图一

其实他是我们弹起键盘的一部分。使用过自定义键盘的小伙伴肯定知道,需要对window下的UITextEffectsWindow进行操作,展开后层级如下:


图二

具体层级是,下方箭头标记的是UITextEffectsWindow


图三

再下一层是:UITextEffectsWindow上的UIInputWindowController


图四

再下一层是:UIInputWindowController上的UIInputSetContainerView


图五

在下一层是:UIInputSetContainerView上的UIIputSetHostView


图六

再下一层便是我们要找的UIIputSetHostView上的UICompatibilityInputViewController


图七

搞懂了视图层级位置,就知道问题出在哪了。

你可能感兴趣的:(UICompatibilityInputViewController到底是什么?)