2010-11-19 8 views
0

Je veux que je veux faire est d'afficher une étiquette lettre par lettre comme dans certains jeux que nous pouvons trouver sur l'App Store, mais je n'ai aucune idée sur la façon de le faire. Peut-être utiliser une minuterie? mais comment puis-je dire à mon label d'ajouter seulement une lettre d'une chaîne? ?Affichage lettre minuterie par lettre iphone

Merci à tous!

Répondre

1

Quelque chose comme ça devrait fonctionner

UILabel* label; //Your label 
NSString* myLongString; //Your string 
for (NSUInteger index = 0; index > [myLongString length] ; index ++) { 
    NSString* subString = [myLongString substringToIndex:index]; //The part you want to show; 
    [label performSelector:@selector(setText:) withObject:subString afterDelay:index]; 
} 

Fondamentalement, vous configurez simplement le texte à une partie de votre chaîne après un certain délai.

+0

yeaaa merci je vais essayer tout de suite. merci homme – florent

+0

t'es a Montréal? ? – florent

+1

il y a un petit indice de correction <= [myLongString length] sinon il ne rentrera pas dans la boucle –

0

Utilisez une minuterie et ajouter une lettre au texte de l'étiquette, à savoir

yourLabel.text = @"H"; 

puis

yourLabel.text = @"He"; 

puis

yourLabel.text = @"Hel"; 

puis

yourLabel.text = @"Hell"; 

puis

yourLabel.text = @"Hello"; 

Vous pourriez vouloir jeter un oeil à la messagerie différée avec la famille performSelector au lieu de NSTimer.

+0

Oui, mais mon texte est assez long, donc je voudrais utiliser un autre moyen. Mais merci j'y penserai. – florent

+0

Si vous souhaitez utiliser une étiquette (c'est-à-dire sans UIView personnalisé), je ne vois pas de manière différente. Bien sûr, vous obtiendrez les chaînes que vous attribuez plus dynamiquement en tant que sous-chaîne de la chaîne complète. – Eiko

+0

o vraiment. Vous utiliseriez une vue personnalisée pour cela? ? – florent