我想創建一個tableview,其中的單元格的高度是動態的。UITableViewCell裏面的UILabel高度
到目前爲止,我設法根據我添加的自定義UILabel設置單元格的高度。
與常規cell.textLabel它工作正常,但是當我使用我自己的標籤出問題了。我只看到了一半的標籤,但是當我上下滾動時,有時標籤會延伸並顯示所有文本......您可以看到標籤應該在圖像中結束的位置。
這是cellForRowAtIndexPath
中的文本:
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Configure the cell.
Car *carForCell = [cars objectAtIndex:indexPath.row];
UILabel *nameLabel = [[UILabel alloc] init];
nameLabel = (UILabel *)[cell viewWithTag:100];
nameLabel.numberOfLines = 0;
nameLabel.text = carForCell.directions;
[nameLabel sizeToFit];
[nameLabel setBackgroundColor:[UIColor greenColor]];
return cell;
我已經在'tableView:heightForRowAtIndexPath'方法中設置了單元格的高度,如圖所示。我改變了'cellForRowAtIndexPath'中的代碼,結果如下:[link](http://cl.ly/image/063e3Y0N2E05)。所有的文字都很引人注目,但寬度看起來很亂。 – 2013-02-08 18:36:23
我認爲這是'sizeToFit:'的問題 - 你可以使用'sizeWithFont:sizeWithFont:forWidth:lineBreakMode:'來計算標籤大小嗎? – ChrisH 2013-02-08 18:43:38
似乎工作。在做出正確答案之前,我會再試一試。 :-) – 2013-02-08 18:52:06