ios – Multiline UILabel?

我需要插入UILabel多行文本.我做以下事情:
NSMutableString * spName = [[NSMutableString alloc ]initWithString:@""];

for (NSUInteger i=0; i<arrEx.count; ++i)
{
    ExInfo * exInf = [arrEx objectAtIndex:i];
    [spName appendString:[MyObject getName:exInf.spNum]];
    [spName appendString:@" "];
    [spName appendString:exInf.totalTime];
    [spName appendString:@"\n"];        
}

CGSize size = [spName sizeWithFont:[UIFont systemFontOfSize:14] 
                 constrainedToSize:constraint
                     lineBreakMode:UILineBreakModeWordWrap];

[cell.exsInfoLabel setFrame:CGRectMake(CELL_CONTENT_MARGIN,top,CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2),size.height)];
[cell.exsInfoLabel setText:spName];
[spName release];

arrEx由两个项组成,因此它应该是两个字符串.但是UITableViewCell只包含第一个字符串.
在IB中,我将UILabel cell.exsInfoLabel的行数设置为0.

解决方法

试试这个:
CGSize labelsize;
UILabel *commentsTextLabel = [[UILabel alloc] init];
[commentsTextLabel setNumberOfLines:0];
[commentsTextLabel setBackgroundColor:[UIColor clearColor]];
Nsstring *text = @"yourtextString";
[commentsTextLabel setFont:[UIFont fontWithName:@"Helvetica"size:14]];
labelsize = [text sizeWithFont:commentsTextLabel.font 
             constrainedToSize:CGSizeMake(268,2000.0) 
                 lineBreakMode:UILineBreakModeWordWrap];
commentsTextLabel.frame = CGRectMake(10,24,268,labelsize.height);
[cell.contentView addSubview:commentsTextLabel];
[commentsTextLabel release];

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...