UIKeyCommand с модификатором не будет распознаваться при первом вызове

Я поддерживаю быстрые клавиши в моем приложении iOS, обслуживая экземпляры UIKeyCommand с моего контроллера.

Следующее работает как шарм и заставляет вызываемый селектор вызываться каждый раз, когда вы нажимаете e :

 - (BOOL)canBecomeFirstResponder { return YES; } - (NSArray *)keyCommands { return @[ [UIKeyCommand keyCommandWithInput:@"e" modifierFlags:0 action:@selector(foo:)]]; ]; } 

Тем не менее, я хочу, чтобы команда ключа была + e , или

 [UIKeyCommand keyCommandWithInput:@"e" modifierFlags:UIKeyModifierCommand action:@selector(foo:)] 

Это все еще работает. Он не будет работать при первом нажатии + e , но после этого он будет работать как прелесть. Почему это происходит и как я могу это исправить?

    Это известная ошибка. В качестве обходного пути вы можете зарегистрироваться для ответа только на командный ключ , передав пустую строку и селектор, который ничего не делает:

     [UIKeyCommand keyCommandWithInput:@"" modifierFlags:UIKeyModifierCommand action:@selector(doNothing:)] 

    Затем, к тому времени, когда пользователь наберет ⌘ + e , это будет второй вызов, и он будет регистрироваться в порядке.

    Более подробную информацию об ошибке можно найти здесь, в OpenRadar . Он был представлен 27 января 2015 года и отмечен как дубликат 24 февраля.

    Interesting Posts

    iOS8: пользовательская клавиатура – открытая камера с AVCaptureVideoPreviewLayer на фоне клавиатуры

    Как установить XCode 4.5GM поверх магазина приложений xcode 4.4.1?

    Невозможно изменить несколько цветов текстового поля в iOS 11 GM

    Настройки Xcode iOS для симулятора> Bluetooth просто вращается и не включается

    UIView alpha = 0 вызывает отбрасывание касаний к виду ниже

    Загрузка файлов Nib крайне медленно

    Уведомление об отмене автоматического обновления для покупки в приложении

    Как добавить выноску в отдельную аннотацию в виде карты

    Как я могу увидеть «Пользовательское время» на панели инструментов Google Analytics?

    Разбирайте XML-файл в кусках, не дожидаясь полной загрузки в Swift

    Вкладки UIScrollView Content не работают для высоты клавиатуры

    Что случилось с моим кодом уведомления?

    Apple Pay не отображает предварительно заполненную информацию

    XCode 4.5, статические библиотеки и категории

    Я могу фактически установить несколько приложений без обеспечения

    Давайте будем гением компьютера.