2014-09-29 9 views
8

Obecnie tworzę niestandardowe rozszerzenie klawiatury iOS 8 i szukam sposobu na określenie, kiedy użytkownicy przełączają się na inne dane wejściowe, aby zmienić układ.Wykrywanie zmian typu klawiatury w niestandardowej klawiaturze dla systemu iOS 8

Na przykład, gdy użytkownik wybiera UITextField z rodzaju UIKeyboardTypeEmailAddress zamierzam przedstawić niestandardową klawiaturę, a gdy użytkownik wybierze inną UITextField z rodzaju UIKeyboardTypeDecimalPad, chcę go zauważy i zaktualizować mojego układ klawiatury. Jak uzyskać powiadomienie o zmianie typu klawiatury w celu aktualizacji układu klawiatury?

Odpowiedz

8

Możesz wykryć zmiany typu klawiatury w textDidChange. Musisz uzyskać numer UITextDocumentProxy, a następnie sprawdzić numer proxy proxy keyboardType. Jeśli jest to typ klawiatury, którą chcesz obsłużyć, możesz wyświetlić odpowiedni interfejs użytkownika. Na przykład w ten sposób można wykryć, kiedy powinna być wyświetlana klawiatura e-mail:

override func textDidChange(textInput: UITextInput) { 
    // Called when the document context is changed - theme or keyboard type changes 

    var proxy = self.textDocumentProxy as UITextDocumentProxy 
    if proxy.keyboardType == UIKeyboardType.EmailAddress { 
     //add code here to display email input keyboard 
    } 
} 
+0

nie dzwoni, gdy typ klawiatury się zmienia lub gdy użytkownik naciska przyciski 123/ABC –

Powiązane problemy