我用下面的代碼在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;
結果如下。似乎沒有解決我的問題
如果你明確地設置了行數,那麼你需要自己照顧標籤高度,那麼只有它會被正確包裝。 – rishi
但是當我設置我的標籤框架時,我確實將標籤高度設置爲80。這不夠嗎? – Zhen
而且我也明確地設置了標籤的寬度(210) – Zhen