2010-03-29 3 views
5

Hey check Les gars ce code (Mon clavier personnalisé):clavier personnalisé iphone, problème ayant avec le bouton backspace dans 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; 
    } 
} 

La chose est que je ne peux pas comprendre comment changer ce code afin que, Je peux effacer tout texte dans une ligne donnent au curseur, le backspace commence à effacer de la fin de la ligne .Je devrait être en mesure d'effacer (backspace) à partir de l'emplacement du curseur S'il vous plaît Aide

+0

Avez-vous un clavier personnalisé? Gérer tous les événements manuellement? – Manjunath

+0

Oui, j'essaie de le faire. –

+0

avez-vous résolu votre problème? parce que j'ai encore quelques erreurs !!! comme vous et ne fonctionne pas. :( – Momi

Répondre

3

remplacer

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

avec

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

Le code semble bon .. Mais je reçois une erreur: Attendu ':' avant ']' jeton Désolé pour le noobness –

+0

Hey j'ai édité cela à (range.location) au lieu de [range.location]. Cela a fonctionné mais il efface le texte qui 'après' le curseur aussi Si je voulais éditer ABCD EFG et je place le curseur à D et frappes le retour arrière il mange le EFG restant ainsi la sortie est: ABC où je veux ..: ABC Merci Mihir EFG –

+0

essayez d'utiliser [txtview.text substringToIndex: ([longueur de txtview.text] - [range.location] -1)]; Il devrait fonctionner ... –

Questions connexes