次のコードを使用して、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 行だけにする方法はありますか?
編集:
提案されたコードを試す
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;
以下のように結果。私の問題を解決していないようだった