2015-08-30 7 views
6

Neu in iOS 9 auf dem iPad ist eine Symbolleiste (Shortcut-Leiste) über der Tastatur platziert, die die Schaltflächen Rückgängig, Wiederholen und Einfügen bereitstellt. Es wird angezeigt, während Sie die Systemtastatur oder die Tastaturen von Drittanbietern verwenden, aber nicht über der Emoji-Tastatur. Ich möchte diese Symbolleiste nicht sehen, wenn meine benutzerdefinierte Tastaturerweiterung verwendet wird, da meine Tastatur der Emoji-Tastatur ähnelt. (Beachten Sie, dass ich über eine benutzerdefinierte Tastaturerweiterung rede, die in jeder App verwendet werden kann, nicht die Tastatur, die angezeigt wird, wenn ein Textfeld in Ihrer eigenen App als Ersthelfer angezeigt wird.) Wie kann man es entfernen?Ausblenden der Symbolleiste über der benutzerdefinierten Tastaturerweiterung in iOS 9

Antwort

7

Sie können es entfernen mit diesem

- (void)textFieldDidBeginEditing:(UITextField*)textField 
{ 
    if(SYSTEM_VERSION_GREATER_THAN(@"8.4")){ 
     UITextInputAssistantItem* item = [textField inputAssistantItem]; 
     item.leadingBarButtonGroups = @[]; 
     item.trailingBarButtonGroups = @[]; 
    } 
} 

und natürlich müssen Sie das Makro SYSTEM_VERSION_GREATER_THAN in Header definieren, für die Version zu überprüfen, da dieser Code Ihrer App auf iOS 8

#define SYSTEM_VERSION_GREATER_THAN(v)    ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending) 
abstürzen

Viel Spaß :)

+0

Das ist für das Verbergen in Ihrer eigenen App (und Sie müssen zusätzlich Autokorrektur zu verbergen, um es zu verstecken). Meine Frage ist, wie Sie es über Ihrer eigenen Tastatur verstecken können, die im gesamten System verwendet werden kann. – Joey

+1

Vielen Dank für diese Antwort! Ich habe das Problem in meiner eigenen App und konnte nicht herausfinden, wie man diese deaktiviert, bis ich diese Antwort – BarrettJ

+0

fand Dies wird auf 8.4.1 abstürzen. Verwenden Sie stattdessen 'if ([textField antwortetToSelector: @selector (inputAssistantItem)]) {' –