2010-03-29 9 views
5

Hola chicos comprobar el código (mi teclado personalizado):encargo del iPhone teclado, que tiene un problema con el botón de retroceso en UITextView

-(IBAction) updateTextBackSpace:(id)sender 
{ 
    if([txtview.text length]>0) 
    { 
     NSString *deletedLastCharString = [txtview.text substringToIndex:([txtview.text length]-1)]; 
     [txtview setText:deletedLastCharString]; 
    } 
    else 
    { 
     return nil; 
    } 
} 

Lo que pasa es que no puedo encontrar la manera de cambiar el código de manera que, puedo borrar cualquier texto en cualquier línea de dar en el cursor, la tecla de retroceso comienza a borrar de final de la línea .I debe ser capaz de borrar (retroceso) de la posición del cursor por favor ayuda

+0

¿Tiene un teclado personalizado? ¿Manejando todos los eventos manualmente? – Manjunath

+0

Sí, estoy tratando de hacer eso. –

+0

¿resolvió su problema? porque todavía tengo algunos errores! como tú y no funciona. :( – Momi

Respuesta

3

reemplazar este

NSString *deletedLastCharString = [txtview.text substringToIndex:([txtview.text length]-1)]; 

con

NSRange range = [txtview selectedRange]; 
NSString *deletedLastCharString = [txtview.text substringToIndex:([range.location]-1)]; 
+0

El código se ve bien ... Pero aparece un error: Se esperaba ':' antes de ']' token. Lo siento por la noobness –

+0

Oye, he editado eso para (range.location) en lugar de [range.location]. Funcionó, pero está borrando el texto que 'después' del cursor también. Si quería editar ABCD EFG y coloco el cursor en D y presiono el retroceso está comiendo el EFG restante por lo que la salida es: ABC donde quiero ..: ABC EFG Gracias Mihir –

+0

intentar usar [txtview.text substringToIndex: ([longitud txtview.text] - [range.location] -1)]; Se debe trabajar ... –

Cuestiones relacionadas