2010-10-11 19 views
0

J'ai une ligne de texte qui est trop longue pour être affichée sur une seule ligne dans un UILabel, donc je suis passé à UITextView. Je voulais afficher ce texte sur une seule ligne, et être capable de faire défiler horizontalement, mais à la place, le UITextView encapsulera le texte sur plusieurs lignes, et me permettra de faire défiler verticalement. Donc, pour le texte "Ceci est une très très longue ligne", au lieu de l'afficher comme "Ceci est un", puis si défilée horizontalement, il afficherait le reste, il affiche en fait comme "Ceci est un \ n très très longue \ n ligne ". Comment puis-je obtenir le comportement que je veux?UITextView défiler uniquement horizontalement

Merci, Mihai

Répondre

3

Si vous voulez que le comportement que vous devez placer l'étiquette dans un scrollview. C'est la seule façon de faire défiler une étiquette dans n'importe quelle direction.

+0

Merci pour la réponse! –

0

En utilisant les conseils de Merrimack, cela a fonctionné pour moi:

self.dishNameLabel.text = @"Here is some very longgggg text to test with"; 
float width = ceil([self.dishNameLabel.text sizeWithAttributes:@{NSFontAttributeName: [UIFont fontWithName:@"WorkSans-SemiBold" size:15.0]}].width); 
self.dishNameLabel.frame = CGRectMake(self.dishNameLabel.frame.origin.x, self.dishNameLabel.frame.origin.y, width, self.dishNameLabel.frame.size.height); 
self.dishNameScrollView.contentSize = CGSizeMake(width, self.dishNameScrollView.frame.size.height); 

Bien sûr, vous devrez remplacer votre texte et la police avec vos spécifications respectives