【发布时间】:2013-09-03 19:31:01
【问题描述】:
我已经四处寻找有关我的问题的任何提示。但我找不到解决方案。
我已经创建了 UITableviewCell (FeedCell) 的子类。一张图片和两个标签。 问题是我需要多行的标签没有显示多行。
我使用自动布局。
这是一个显示用户 twitterfeed 的应用程序。
我的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
FeedCell *tweetCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (tweetCell == nil) {
tweetCell = [[FeedCell alloc]
initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
[tweetCell.tweetText setNumberOfLines:0];
[tweetCell.tweetText setLineBreakMode:NSLineBreakByWordWrapping];
[tweetCell.tweetText setFont:[self fontForCell] ];
}
NSDictionary *tweet = _dataSource[[indexPath row]];
NSString *tweetString = [tweet valueForKey:@"text"];
tweetCell.name.text =[tweet valueForKeyPath:@"user.name"];
[tweetCell.tweetText setText:tweetString];
return tweetCell;
}
我也设置了heigthforRowAtIndexPath:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
NSDictionary *tweet = _dataSource[[indexPath row]];
NSString *theText=[tweet valueForKey:@"text"];
UIFont *cellFont = [self fontForCell];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize labelSize = [theText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
return labelSize.height + 20;
}
问题是tweet cell.tweetText 没有显示多行。我没有用另一个 CellStyle 尝试过这个(我使用自定义 cellstyle)。
任何提示任何人?
【问题讨论】:
-
你能记录你标签的框架吗?
-
你设置了什么布局和行数?
-
我认为您需要自定义自己的单元子类
-
不确定这是否会有所帮助,但这里有一个我如何做类似事情的简单示例:github
-
啊。您在代码中在运行时添加了这些标签。我已经在情节提要视图中制作了这些内容。这可能是问题所在?
标签: ios objective-c uitableview