becomeFirstResponder导致崩溃UICompatibilityInputViewController

时间:2015-07-29 06:47:05

标签: ios objective-c ios8 becomefirstresponder

我有一个消息应用程序。  我在ViewController中有一个UITabeView。我在我的自定义UITableViewCell上实现我的longPressGesture事件,以便在其上显示UIMenuController(复制 - 转发和......):

AudioMsgCell

-(void)handleLongPress:(UIGestureRecognizer *)gesture
        [self becomeFirstResponder]; // i crash on this Line
        UIMenuController *menu = [UIMenuController sharedMenuController];
        UIMenuItem *delete = [[UIMenuItem alloc] initWithTitle:@"Delete" action:@selector(Delete:)];
        CGRect targetRect = [self convertRect:[self.bubbleImageView frame]
                                     fromView:self];
        [menu setMenuItems:[NSArray arrayWithObjects:delete,nil]];
        [menu setTargetRect:targetRect inView:self];
        [menu setMenuVisible:YES animated:YES];}

我有一个XIB file包含UITextField&一些UIButton和myviewController i addSubView来查看。

TextingViewController

 [self.view addSubview:self.inputView];

当我在单元格上长按手势时,我会在方法上崩溃

AudioMsgCell

 [self becomeFirstResponder]

我在过去遇到过这个问题,当我在iOS 8中实现了额外的键盘时,但现在当我在我的Cell应用程序上做手势时出现此错误:

Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'child view controller:<UICompatibilityInputViewController: 0x14459d620> should have parent view controller:<BLTextingViewController: 0x146801000> but requested parent is:<UIInputWindowController: 0x144a05a00>'

请看这个链接: Error when adding input view to textfield iOS 8

如果我在ViewController中删除addSubView一切正常但是我看不到View(包括TextField&amp; ...)

更新

如果textField是第一个响应者(这个崩溃不开心)。 我想在键盘辞职时触摸我的手机。

0 个答案:

没有答案