Отображение проигрышей UIMenuController клавиатура

Я делаю приложение для iphone, подобное приложению «Сообщения», которое поставляется на телефоне. Я просто настроил возможность копировать сообщения через UIMenuController, но если отображается клавиатура и кто-то пытается скопировать сообщение, клавиатура отключается (предположительно из-за моего [celltainFirstResponder]; где ] ячейка - это копируемая ячейка сообщения).

Есть ли способ показать сообщение «Копировать» без потери клавиатуры?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *)indexPath {

    //...other cell setup stuff...

    UILongPressGestureRecognizer *longPressGesture =
    [[UILongPressGestureRecognizer alloc]
      initWithTarget:self action:@selector(showCopyDialog:)];
    [cell addGestureRecognizer:longPressGesture];

    return cell;
}

- (void)showCopyDialog:(UILongPressGestureRecognizer *)gesture
{
    if (gesture.state == UIGestureRecognizerStateBegan)
    {
        ConvoMessageCell *cell = (ConvoMessageCell *)[gesture view];
        NSIndexPath *indexPath = [self.tblConvo indexPathForCell:cell];

        UIMenuController *theMenu = [UIMenuController sharedMenuController];
        [cell becomeFirstResponder];
        [theMenu setTargetRect:CGRectMake(menuX, menuY, 100, 100) inView:cell];
        [theMenu setMenuVisible:YES animated:YES];        
    }
}
7
задан Stephen 5 December 2011 в 02:25
поделиться