我已經按照我已經能夠在stackoverflow上找到的說明來解決以下問題,但都沒有工作。下面是我的代碼:根據文本高度設置UITableViewCell高度和單元格的文本標籤
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"DoCCell";
DoCCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[DoCCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Configure the cell...
CGSize constraintSize = CGSizeMake(cell.infoLabel.frame.size.width, MAXFLOAT);
CGSize labelSize = [_content[[indexPath row] * 2] sizeWithFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:12.0f]
constrainedToSize:constraintSize
lineBreakMode:NSLineBreakByWordWrapping];
CGRect frame = CGRectMake (cell.infoLabel.frame.origin.x, cell.infoLabel.frame.origin.y, labelSize.width, labelSize.height);
[cell.infoLabel setFrame:frame];
cell.infoLabel.lineBreakMode = NSLineBreakByWordWrapping;
cell.infoLabel.numberOfLines = 10;
_font = cell.infoLabel.font;
cell.infoLabel.text = _content[[indexPath row] * 2];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize size = [_content[[indexPath row] * 2] sizeWithFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:12.0f]
constrainedToSize:constraintSize
lineBreakMode:NSLineBreakByWordWrapping];
return size.height + 30.0;
}
但是當我運行我的代碼,而標籤的大小不是細胞的高度適當地改變。
單元格是一個自定義單元格,我已經通過.xib文件添加了標籤。我嘗試手動拉伸標籤,它的工作原理是顯示所有文本,所以問題不在標籤的包裝中。我也測試了cell.infoLabel.frame.size.height,並且高度值DOES隨着單元格的高度而改變,只要值是關心的,但它不會像這樣顯示。我究竟做錯了什麼?
OK我現在有'//配置單元... _font = cell.infoLabel.font; cell.infoLabel.text = _content [[indexPath row] * 2]; cell.infoLabel.numberOfLines = 0; [cell.infoLabel sizeToFit];'但它仍然不起作用 –
我不確定,但是您能否請嘗試移除標籤的換行符模式,具體而言,您是否可以將該行註釋掉並再次檢查: cell.infoLabel.lineBreakMode = NSLineBreakByWordWrapping; – An1Ba7
這也沒有奏效。 [Here](http://imgur.com/A2aRkQJ)是.xib中標籤的詳細信息,如果有幫助 –