我有一个tableView
,其中每个cell
都包含Twitter用户的用户名和推文:http://postimg.org/image/5p8y9wh47/
但是从图像中可以看出它并没有显示用户的整个推文。如何让它显示用户的整个推文并整体调整表格视图单元格?
我知道我必须使用heightForRowAtIndexPath
,但我不知道如何开始......
cell.textLabel.text = [NSString stringWithFormat:@"%@ @%@", [tweet[@"user"] objectForKey:@"name"], [tweet[@"user"] objectForKey:@"screen_name"]];
cell.detailTextLabel = [NSString stringWithFormat:@"%@", tweet[@"text"]];
如何获取textLabel和detailTextLabel的高度(使用整个推文)并相应地更改单元格大小?
我一直在尝试:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
//get tweet data
NSDictionary *tweet = _userPosts[indexPath.row];
//create a string for the header - name (@username)
NSString *header = [NSString stringWithFormat:@"%@ @%@", [tweet[@"user"] objectForKey:@"name"], [tweet[@"user"] objectForKey:@"screen_name"]];
NSString *tweetData = [NSString stringWithFormat:@"%@", tweet[@"text"]];
CGSize constraintSize = CGSizeMake(320.0f, MAXFLOAT);
CGSize labelSize = [header sizeWithAttributes:@{NSFontAttributeName: [UIFont boldSystemFontOfSize:14]} constrainedToSize:CGSizeMake(_feedTableView.bounds.size.width, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
}
答案 0 :(得分:2)
您正在- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
查看Apple的NSString UIKit Additions Reference,了解如何获取字符串的大小:
您需要使用– boundingRectWithSize:options:attributes:context:
来获取用户名和推文字符串的高度。