2010-10-28 11 views
6

creo un pulsante backspace personalizzato ma il mio problema è che il mio pulsante Indietro funziona alla grande per eliminare il carattere dal centro delle parole, ma basta rimuovere 1 carattere dopo quello (rimuovendo le lettere), ritorna alla fine della riga significa non rimanere dove si trova il cursore, qui è il mio codice:Rimozione caratteri con pulsante

 NSRange deleteRange = textPad.selectedRange; 

     if (deleteRange.length >0) 
     textPad.text = [textPad.text stringByReplacingCharactersInRange:deleteRange withString:@""]; 


     else 

      if (deleteRange.location > 0) 
      textPad.text = [textPad.text stringByReplacingCharactersInRange:NSMakeRange(deleteRange.location-1,1) 
withString:@""]; 

risposta

3

ho riparato: basta aggiungere questo codice:

deleteRange.location--; 
deleteRange.length = 0; 
textPad.selectedRange = deleteRange; 
3

è possibile risolvere questo problema facilmente impostando la proprietà selectedRange di UITextView

NSRange ran= textView.selectedRange 
    //do your deletions 
    ran.lenght=0; 
    if(ran.location!=0) 
    ran.location--; 
    textView.selectedRange=ran; 
+0

sembra che l'abbiate trovato da solo in ogni caso :) – Daniel

+0

sì grazie comunque :) – Momi

Problemi correlati