Ich muss externe Tastaturfunktionen in meiner App unterstützen und Tastenkombinationen wie Alt + Tab benötigen, um in der App erkannt zu werden, um ein Ereignis auszulösen. In IOS 6 hatte ich das
außer Kraft gesetzt %Vor% Funktion in der UIApplication
Unterklasse, um die Tastenkombinationen zu aktivieren externe Tastatur
Aber jetzt teste ich meine App in IOS 7 und das sendEvent scheint nicht einmal für ein Hardware-Schlüssel gedrückt Ereignis aufgerufen werden.
Beliebige Lösungen ..?
Es gibt eine 100% ige Unterstützung für Tastenkombinationen auf einer Bluetooth-Tastatur in iOS 7 mit der neuen UIKeyCommand
Klasse und die UIResponder
Kette. Ich habe darüber gebloggt , aber hier ist der Kern:
Fügen Sie irgendwo in Ihrer Responder-Kette eine Methode für keyCommands
, die ein Array von UIKeyCommand
-Objekten zurückgibt:
Wenn dann ⌘F gedrückt wird (in einer Texteingabeansicht), sucht die Responder-Kette nach der handleCommandF
-Methode. Wenn mehrere Definitionen vorhanden sind, wird die engste verwendet (z. B. die Ansicht selbst hat Vorrang vor einem ViewController).
Beachten Sie, dass dies nur funktioniert, wenn eine Eingabe (wie UITextField
oder UITextView
) der erste Responder ist. Wenn Sie "globale" Verknüpfungen in Ihrer App möchten, können Sie den Trick ausführen, in dem Sie UITextField
offscreen ausblenden und sich darauf konzentrieren.
Tags und Links bluetooth keyboard ios7 uiapplication