多线UILabel?

Rom*_*anS 6 uikit uilabel ios

我需要插入到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];
Run Code Online (Sandbox Code Playgroud)

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

Gyp*_*psa 10

试试这个:

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];
Run Code Online (Sandbox Code Playgroud)

  • 行数0表示可以添加无限数量的行.apple文档说: - 此属性控制使用的最大行数,以便将标签的文本放入其边界矩形.此属性的默认值为1.要删除任何最大限​​制,并根据需要使用尽可能多的行,请将此属性的值设置为0. (5认同)