項目開發(fā)中外永,我們在跟蹤線上bugly時崎脉,經(jīng)常會遇到【UICompatibilityInputViewController 】willappear時崩潰的問題(如下),但我們搜索整個項目后發(fā)現(xiàn)伯顶,其中沒有這個控制器囚灼,那UICompatibilityInputViewController到底是什么呢骆膝?
圖一
其實他是我們彈起鍵盤的一部分。使用過自定義鍵盤的小伙伴肯定知道灶体,需要對window下的UITextEffectsWindow進行操作阅签,展開后層級如下:
圖二
具體層級是,下方箭頭標記的是UITextEffectsWindow
圖三
再下一層是:UITextEffectsWindow上的UIInputWindowController
圖四
再下一層是:UIInputWindowController上的UIInputSetContainerView
圖五
在下一層是:UIInputSetContainerView上的UIIputSetHostView
圖六
再下一層便是我們要找的UIIputSetHostView上的UICompatibilityInputViewController
圖七
搞懂了視圖層級位置蝎抽,就知道問題出在哪了政钟。