2010-05-28 3 views
3

J'ai un UITextView dans lequel je veux que la valeur initiale soit "@username" quand le clavier apparaît (notez l'espace après le nom d'utilisateur). De cette façon, l'utilisateur peut commencer à taper tout de suite sans avoir à taper sur l'espace. Alors je fais:Impossible d'ajouter l'espace à la fin de UITextView

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

Mais il semble que il est impossible d'avoir la propriété UITextViewtext se termine par un espace (il obtient toujours dépouillé). Ai-je raison? Y at-il une solution de contournement pour cela?

J'ai essayé d'utiliser le char \s et sans succès.

EDIT: voir la première réponse ci-dessous. Un bogue a été envoyé à Apple - # 8038616

Répondre

2

Je peux trouver des questions similaires à la vôtre en utilisant Google (à savoir http://www.iphonedevsdk.com/forum/iphone-sdk-development/44039-uitextview-whitespace-cursor-position.html) donc je suis vraiment enclin à penser que cela pourrait être un bug avec UITextView, où il est parage des espaces dans sa méthode setter text. Je suggérerais filing a bug.

Modifier: cela semble seulement se produire lorsque le UITextView n'est pas en mode d'édition. En mode d'édition avec le clavier levé, vous pouvez définir text, comme Twitterific. Cependant, le comportement de rognage présent, lorsque l'UITextView n'est pas en mode d'édition, est un bug - veuillez le signaler pour qu'il puisse être corrigé (et faites-nous savoir le # si vous le faites).

+0

Pouvez-vous penser à une solution de contournement? – samvermette

+0

Si le setter coupe vraiment le texte dans les coulisses, il n'y a probablement rien que vous puissiez faire, puisque la propriété 'text' est la seule façon de donner un texte UITextView. –

+0

De nombreux clients Twitter semblent être en mesure de le faire. Tweetie et Twitterrific traitent tous les deux cette amende. – samvermette

0

NSString ne supprime pas les espaces sauf si vous le lui demandez. S'il n'y a pas d'espace dans l'interface utilisateur, quelque chose d'autre efface les espaces.

-2

J'ai testé cela par une déclaration NSLog et ne pouvait pas reproduire le symptôme:

NSLog(@"@%@ ", @"test"); 

Alors que les espaces blancs ne sont pas directement visible, il peut être rendu visible en mettant en surbrillance le texte dans la console.

Votre problème est probablement ailleurs.

+0

Vous avez raison. L'enregistrement de ma chaîne enregistre l'espace à la fin. Mais le UITextView ne l'affiche pas (ie le curseur se place juste après la fin du mot, pas d'espace) – samvermette