错误的原因:
*** Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'child view controller:<UICompatibilityInputViewController: 0x7fe168592d00> should have parent view controller:<WDKRichChatViewController: 0x7fe1686655b0> but requested parent is:<UIInputWindowController: 0x7fe168852a00>'
情景复现:
当我给cell添加长按手势的时候,要实现UIMenuController,但是蹦到了 [self becomeFirstResponder] 这一句,翻阅了各种百度,终于知道了原因:
Your view controller probably has a property named inputView that is merely a subview, not an inputView as UIResponder interface expects it to be. Starting with iOS 8 they check that UIResponder's inputView has no parent.
这是百度出来的,于是按照这个方向去找,发现我的控制器添加上了这句:
@property (nonatomic, strong) ChatInputPanel *inputView; 于是,注释了,便好了。
附上提供思路的链接地址:http://*.com/questions/26928849/error-when-try-becomefirstresponder-call-for-uimenucontroller