Ios 显示UIMenuViewController时隐藏键盘

Ios 显示UIMenuViewController时隐藏键盘,ios,objective-c,keyboard,uimenucontroller,Ios,Objective C,Keyboard,Uimenucontroller,当我在uitextfield上显示UIMenuViewController时,键盘也会弹出 想知道当UIMenuViewController可见时是否有办法隐藏键盘 我使用下面的代码来显示菜单 NSArray *buttons = items; NSMutableArray *menuItems = [NSMutableArray array]; for (NSString *buttonText in buttons) { NSString *sel =

当我在
uitextfield
上显示
UIMenuViewController
时,键盘也会弹出

想知道当
UIMenuViewController
可见时是否有办法隐藏键盘

我使用下面的代码来显示菜单

    NSArray *buttons = items;
    NSMutableArray *menuItems = [NSMutableArray array];
    for (NSString *buttonText in buttons) {
        NSString *sel = [NSString stringWithFormat:@"magic_%@", buttonText];
        [menuItems addObject:[[UIMenuItem alloc]
                              initWithTitle:buttonText
                              action:NSSelectorFromString(sel)]];
    }
    UIMenuController *menuCont = [UIMenuController sharedMenuController];
    [menuCont setTargetRect:view.frame inView:view.superview];
    menuCont.arrowDirection = UIMenuControllerArrowDown;
    menuCont.menuItems = menuItems;
    [menuCont setMenuVisible:YES animated:YES];

当您想要隐藏键盘(在您的示例中,菜单项是可见的)以隐藏键盘时,请使用 [textField resignFirstResponder]


也许你的问题会解决

我想你可以设置一个观察者来监听
uimenucontrollershowmenunotification
,然后在你的计算机上调用一个名为
endEditing
的方法views@LouisTur我添加了[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(\u textWillShowMenu:)名称:UIMenuControllerWillShowMenuTification对象:nil];但是如何访问textWillShowMenu中的视图?您可以调用对包含文本的视图的任何引用,例如,如果您使用的是
UIViewController
,您可以调用
[self.view endEditing:YES]
,调用顶级视图将放弃所有子视图的FirstResponder设计FirstResponder将显示键盘打开和关闭的轻弹效果。