2010-10-04 7 views
1

i ont des problèmes avec le backspace personnalisé et entrez les boutons sur le clavier iPhone personnalisé,backspace iPhone personnalisés et entrez les boutons

Le Backspace: mes codes supprimer simplement des caractères à la fin de la ligne pas de l'emplacement du curseur.

if ([textView.text length]>0) textView.text = [textView.text substringToIndex:([textView.text length]-1)]; 

et lire cette question Custom keyboard iphone , having problem with backspace button in UITextView mais n'a pas résolu mon problème. L'entrée: J'ai le même problème comme retour arrière le bouton d'entrée juste insère la nouvelle ligne à la fin de la phrase pas à partir de l'emplacement du curseur.

textView.text = [NSString stringWithFormat:@"%@\n", textView.text]; 

comment devrais-je changer mes codes pour bien fonctionner? merci

EDIT: // BACKSPACE CODE BOUTON:

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

Répondre

4

ici est le meilleur code backspace personnalisé iphone: D:

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:@""]; 

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

GREAAAAAAAT, cela a fonctionné génial! –

1

Vous pouvez utiliser la méthode UITextView selectedRange pour déterminer le début et la fin du texte sélectionné, et supprimer de cette gamme au lieu de partir de la fin de la chaîne.

+0

désolé iam nouveau pour iPhone sdk, pouvez-vous me montrer l'exemple? –

+0

voulez-vous plz heeeeeeeeeeeelmp moi? :(J'ai vraiment besoin de la réponse –

3
textView.text = [textView.text stringByReplacingCharactersInRange:textview.selectedRange withString:@"\n"]; // Replace the selected characters with a new line 

ou

textView.text = [textView.text stringByReplacingCharactersInRange:textview.selectedRange withString:@""]; // Delete the selected character 
+0

merci beaucoup, désolé iam nouveau à iphone sdk, à propos de l'espace arrière je veux supprimer un seul caractère sur toute gamme.notre code suffit de supprimer le texte sélectionné pas 1 caractère –

+0

pourriez-vous s'il vous plaît m'aider encore une fois avec la longueur -1? –

+2

Désolé, n'était pas en ligne les dernières heures Ok, voici le code pour supprimer seulement la longueur moins un caractère: NSRange deleteRange = textview.selectedRange; deleteRange. length - = 1; // Cela rétrécira la plage de sa longueur d'origine à la longueur - 1. Vous pouvez définir ceci à ce que vous voulez textView.text = [textView.text stringByReplacingCharactersInRange: deleteRange withString: @ ""]; // Au lieu de supprimer les caractères sélectionnés, supprimez les caractères de la nouvelle plage'' Modifier: Aucun code d'erreur ou de commentaires ?! FFFFUUUUU D: – JustSid

Questions connexes