我正在嘗試製作一個與XCode 4.2
的Twitter客戶端。 (iOS version 5
)。我想我的應用程序的主時間軸類似於Twitter的iOS應用的時間表:在iOS應用程序中動態調整表格單元格
我使用含標籤和三個按鈕的原型細胞UITableView
。下面是我使用的設置高度的代碼:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString* cellIdentifier = @"TweetContainerCell";
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
@try {
UILabel* tweetLabel;
if(cell != nil) {
tweetLabel = (UILabel*)[cell.contentView viewWithTag:1];
NSString* tweetText = tweetLabel.text;
CGSize expectedLabelSize = [tweetText sizeWithFont:[UIFont fontWithName:tweetLabel.font.fontName size:20] constrainedToSize:CGSizeMake(CGFLOAT_MIN, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap];
//[tweetLabel setFrame:CGRectMake(tweetLabel.frame.origin.x, tweetLabel.frame.origin.y, cell.frame.size.width, expectedLabelSize.height)];
//[cell.textLabel setFrame:tweetLabel.bounds];
//[tweetLabel sizeToFit];
//[cell setFrame:CGRectMake(cell.frame.origin.x, cell.frame.origin.y, cell.frame.size.width, expectedLabelSize.height)];
//[cell sizeToFit];
NSLog(@"Font size: %f", expectedLabelSize.height);
return (expectedLabelSize.height * 2);
}
}
/* Imgur URL: http://i.imgur.com/lHnsAsP.png */
/* http://i.imgur.com/hA9EKfI.png */
@catch (NSException* exception) {
NSLog(@"Exception: %@", exception);
}
return 0;
}
但是,這是我的應用程序最終看起來像:
的問題是:
1 )每個單元格與整個表格中最高的單元格的高度相似,而不是具有不同的高度。
2)因此,單元格的上邊框和文本之間的間距對於每個單元格都不同(因爲iOS
垂直居中文本)。
我正在學習iOS
發展和無法做這麼簡單的事情,即使經過大量的研究和花費大量的時間,似乎真的令人沮喪。任何幫助是極大的讚賞。
(如果我所提供的信息是不夠的,這是一個包含整個項目的ZIP文件:https://db.tt/m5suxWCj)