2013-04-17 6 views
4

Я показываю UIMenuController при длинном нажатии & двойной жест двойного нажатия, но его не отображается. Я следил за приведенными здесь ответами, но он все еще не появляется. UIMenuController not showing upUIMenuController не отображается

Ниже мой код

- (void) doubleTap:(UITapGestureRecognizer *)gesture 
{ 
    [self becomeFirstResponder]; 

    CGPoint location = [gesture locationInView:[gesture view]]; 
    UIMenuController *menuController = [UIMenuController sharedMenuController]; 
    UIMenuItem *resetMenuItem = [[UIMenuItem alloc] initWithTitle:@"DoubleTap" action:@selector(hideKeyboard)]; 

    [menuController setMenuItems:[NSArray arrayWithObject:resetMenuItem]]; 
    [menuController setTargetRect:CGRectMake(location.x, location.y, 0.0f, 0.0f) inView:[gesture view]]; 
    [menuController setMenuVisible:YES animated:YES]; 
} 

- (void) longPress:(UITapGestureRecognizer *)gesture 
{ 
    [self becomeFirstResponder]; 

    CGPoint location = [gesture locationInView:[gesture view]]; 
    UIMenuController *menuController = [UIMenuController sharedMenuController]; 
    UIMenuItem *resetMenuItem = [[UIMenuItem alloc] initWithTitle:@"LongPress" action:@selector(hideKeyboard)]; 

    [menuController setMenuItems:[NSArray arrayWithObject:resetMenuItem]]; 
    [menuController setTargetRect:CGRectMake(location.x, location.y, 0.0f, 0.0f) inView:[gesture view]]; 
    [menuController setMenuVisible:YES animated:YES]; 
} 

- (BOOL)becomeFirstResponder 
{ 
    return YES; 
} 

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{ 
    if (action == @selector(copy:)) 
    { 
     return YES; 
    } 
    return [super canPerformAction:action withSender:sender]; 
} 

Я пытаюсь получить это событие на didSelectRow из Tableview, что может быть worng.

ответ

6

я, наконец, решить мою проблему, добавив ниже метод в моем коде

- (BOOL) canBecomeFirstResponder 
{ 
    return YES; 
} 

Вы должны также выполнять действия для всех кнопок. Иначе эта кнопка не будет отображаться в меню.

+1

Кто-нибудь, у кого есть ранее работающие меню на iOS6, не работает в iOS7? – DogCoffee

Смежные вопросы