2012-01-18 1 views
5

Я знаю, что люди задавали этот вопрос кучу раз alrdy на Stack, но обычный ответ на изменение «Lines: 0» и выбор «Line Breaks: Word Wrap» просто не фиксирует его для меня.Xcode 4.2 - UILabel Word Wrap

Я использую Xcode 4.2 с раскадровки. Я поместил UILabel в контроллер просмотра и изменил его размер, чтобы покрыть большую часть представления. Я изменил значение «Линии» на 0 и «Разрыв строки» на Word Wrap.

Я попытался \n в моей строке: @"This is my label text \n that's supposed to wrap."

Любые идеи ??

EDIT: Я не объявлял никаких свойств ярлыка в моем файле реализации, только на раскадровке, поэтому я пробовал следующее ... Но не повезло: \ (имя и размер шрифта и работа выравнивания, но количество строк и режим перерыва, кажется, ничего не делать.)

lblText.numberOfLines = 0;
lblText.font = [UIFont fontWithName:@"Helvetica" size:(15.0)];
lblText.lineBreakMode = UILineBreakModeWordWrap;
lblText.textAlignment = UITextAlignmentLeft;

ответ

10

Попробуйте

[lblText setFrame:CGRectMake(10, 21, 100, 250)]; 
lblText.text [email protected]"This is my label text \n that's supposed to wrap."; 
lblText.numberOfLines = 3; 
lblText.font = [UIFont fontWithName:@"Helvetica" size:(15.0)]; 
lblText.lineBreakMode = UILineBreakModeWordWrap; 
lblText.textAlignment = UITextAlignmentLeft; 
+0

Работает как очарование. 'setFrame: CGRectMake' сделал трюк. Для тех, кто озадачен цифрами, которые следуют за 'CGRectMake', они стоят за пиксели: слева, сверху, ширине, высоте. Спасибо, счастливо! –

+0

Но что конкретно о вызове setFrame сделал трюк? Была ли ваша рама настолько большой, что она расширялась горизонтально за пределы взгляда, и как таковая не происходило? Или есть что-то еще в этом конкретном фрейме, который вызывает обертывание в вашем случае? – mgadda