我有一个tableview,我想在单元格中显示多行文本。我尝试了下面的代码和高度变化,但文本不会中断,并且第二行不会出现。你有什么线索我做错了什么?在一个tableview单元格中显示多行
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil)
{
cell = [[UITableViewCell alloc]
initWithStyle: UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
NSString *myString = [_menuItems objectAtIndex:[indexPath row]];
UILabel *settingsLabel = (UILabel *)[cell viewWithTag:201];
settingsLabel.text = myString;
settingsLabel.lineBreakMode = NSLineBreakByWordWrapping;
settingsLabel.numberOfLines = 0;
[settingsLabel sizeToFit];
return cell;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *str = [_menuItems objectAtIndex:indexPath.row];
CGSize size = [str sizeWithFont:[UIFont fontWithName:@"Helvetica" size:17] constrainedToSize:CGSizeMake(200, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
NSLog(@"%f",size.height);
return size.height + 10;
}
你在使用故事板吗?什么是你看到上述代码的奇怪行为的iOS版本?我已经使用iOS 7中的故事板进行了轻微修改,尝试了您的代码,它看起来很不错,有两行文字。 – Ricky
是的,我正在使用iOS 7故事板并在iPhone 5(4英寸屏幕)上进行模拟。在我的项目中,我只看到1行文字。也许是与故事板上的标签...... – nabrugir