Я использую следующий код для добавления текста в IOSИмея трудность обертывания текста
//Set up label frame
UILabel *tempLabel = [[UILabel alloc]initWithFrame:CGRectMake(100, 10, 210, 80)];
self.answer_text_label = tempLabel;
[tempLabel release];
[self.preview_answer_container addSubview:self.answer_text_label];
//Populate label with text
self.answer_text_label.text = self.answer.text;
self.answer_text_label.numberOfLines = 4;
self.answer_text_label.lineBreakMode = UILineBreakModeWordWrap;
[self.answer_text_label sizeToFit];
Однако результат я получаю как таковые, текст, кажется, переполнение справа вместо пребывания в кадре, как это предусмотрено в моей установке ярлыка 'CGRectMake (100, 10, 210, 80)'
обертывание работает, если я изменяю self.answer_text_label.numberOfLines = 0
. Но это не сработает для меня, так как мне нужно ограничить текст в рамках оговоренной метки.
В любом случае, я могу обернуть текст и сохранить только 4 строки?
EDIT:
Попробуйте Предложенное код
self.answer_text_label.text = self.answer.text;
[self.answer_text_label sizeToFit];
CGRect labelRect = self.answer_text_label.frame;
labelRect.origin.y = CGRectGetMaxY(labelRect);
labelRect.size = self.answer_text_label.frame.size;
self.answer_text_label.frame = labelRect;
результат следующим образом. Не похоже, чтобы решить мою проблему
Если вы задаете количество строк в явном виде, вам нужно самостоятельно позаботиться о высоте этикетки, тогда только он будет обернут правильно. – rishi
Но я установил высоту надписи 80, когда я настраиваю рамку метки. Разве этого недостаточно? – Zhen
, а также я также явно задал ширину метки (210) – Zhen