verificacion valido tarjeta sido requiere rechazado que por pero pago metodo mas invalido invalida ingresa informacion forma favor debito carga app aparece acepta ios8 ios-app-extension custom-keyboard

ios8 - valido - Los métodos UITextInputDelegate no funcionan correctamente



mi iphone no carga pero aparece que si (2)

Tampoco funciona para mí ... lo que estoy haciendo actualmente es usar textWillChange y textDidChange que se llama, como mencionas, cuando cambias tu selección ... (se llaman ANTES y DESPUÉS )

Y luego comparando:
self.textDocumentProxy.documentContextBeforeInput
self.textDocumentProxy.documentContextAfterInput

Desde BEFORE (textWillChange) hasta AFTER (textDidChange) para ver si el rango de selección o la duración han cambiado.

Algo como esto (configure las 4 NSStrings a continuación en su archivo .h por supuesto ... no he probado este fragmento exacto porque lo escribí desde cero en SO.com, pero estoy seguro de que el principio funciona si hice alguna errores)

- (void)textWillChange:(id<UITextInput>)textInput { beforeStringOfTextBehindCursor = self.textDocumentProxy.documentContextBeforeInput; beforeStringOfTextAfterCursor = self.textDocumentProxy.documentContextAfterInput; } - (void)textDidChange:(id<UITextInput>)textInput { afterStringOfTextBehindCursor = self.textDocumentProxy.documentContextBeforeInput; afterStringOfTextAfterCursor = self.textDocumentProxy.documentContextAfterInput; BOOL didSelectionChange = NO; if (![beforeStringOfTextBehindCursor isEqualToString:afterStringOfTextBehindCursor]) { didSelectionChange = YES; } if (![beforeStringOfTextAfterCursor isEqualToString:afterStringOfTextAfterCursor]) { didSelectionChange = YES; } if (didSelectionChange) { NSLog(@"Selection Changed!"); } }

Estoy trabajando en la extensión de teclado personalizado iOS 8 en este momento, y existen algunos problemas al usar los métodos UITextInputDelegate .

Hace esto a la derecha: selectionWillChange: y selectionDidChange: ¿se deben llamar los métodos cuando el usuario presiona de forma prolongada el área de escritura? Y textWillChange: y textDidChange: ¿se deberían llamar los métodos siempre que el texto esté cambiando literalmente?

En realidad, lo que observé es que, cuando cambié la selección en el área de entrada de texto, se invocaron textWillChange: y textDidChange: y no puedo obtener una pista de que se invocan los otros dos métodos en qué condición. Si alguien sabe sobre el uso de estos métodos de delegado, házmelo saber.


Tuve el mismo problema con las funciones especificadas en el protocolo UITextInput que no se llamaba. El motivo, en la medida en que puedo discernir, se debe al hecho de que inputDelegate está configurado en tiempo de ejecución. De acuerdo con los documentos ios:

UIKit proporciona un delegado de entrada de texto privado, que asigna en tiempo de ejecución a la propiedad inputDelegate del objeto cuya clase adopta el protocolo UITextInput. enlazar

La solución que funciona en mi caso es restablecer el inputDelegate en la función:

textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

por la siguiente línea:

[myUITextField setInputDelegate:self];

donde self implementa el protocolo UITextInputDelegate.