1

我有一个由海关单元组成的表格视图。每个单元共有三个标签。

主要问题是细胞三个标签的中间标签的形成。

我正在创建一个具有相同 CGRect 的自定义标签

UILabel *msglabeltemp = [[[UILabel alloc]  initWithFrame:  CGRectMake(80,20.0,230.0,80.0)] autorelease];
[cell.contentView addSubview:msglabeltemp];
msglabeltemp.backgroundColor = [UIColor clearColor];
msglabeltemp.textColor = [UIColor grayColor];
msglabeltemp.numberOfLines=6;
[msglabeltemp setFont:[UIFont fontWithName:@"Helvetica Neue" size:12.0f]];
msglabeltemp.tag=1;
msglabeltemp.font=[UIFont systemFontOfSize:12.0f];
msglabeltemp.textAlignment=UITextAlignmentLeft ;
//Adding Label To Cell
UILabel *msglabel = (UILabel *)[cell.contentView viewWithTag:1];

msglabel.text = [data1 objectForKey:@"msg"];

...将为单元格中的每个标签调用此标签,但它会泄露第一个标签和中间标签之间的意外距离。

查看图像中红色突出显示的区域

在此处输入图像描述

4

3 回答 3

1

这也很有用

CGSize maximumSize = CGSizeMake(300, 9999);
    NSString *dateString = @"The date today is January 1st, 1999";
    UIFont *dateFont = [UIFont fontWithName:@"Helvetica" size:14];
    CGSize dateStringSize = [dateString sizeWithFont:dateFont 
            constrainedToSize:maximumSize 
            lineBreakMode:self.dateLabel.lineBreakMode];

    CGRect dateFrame = CGRectMake(10, 10, 300, dateStringSize.height);

    self.dateLabel.frame = dateFrame;
于 2012-05-04T07:51:47.260 回答
0

AUILabel的内容不是顶部对齐的(而是在中间居中),这就是您看到此内容的原因。

请参阅在 UILabel 中将文本垂直对齐到顶部以获取有关如何更改此设置的灵感。

于 2012-05-03T16:48:27.973 回答
0
CGRect lblFrame = CGRectMake(20, 20, 280, 150);
    UILabel *lbl = [[UILabel alloc] initWithFrame:lblFrame];
    [lbl setBackgroundColor:[UIColor orangeColor]];

    NSString *labelText = @"I am the very model of a modern Major-General, I've information vegetable, animal, and mineral";
    [lbl setText:labelText];

    // Tell the label to use an unlimited number of lines
    [lbl setNumberOfLines:0];
    [lbl sizeToFit];
于 2012-05-04T06:14:18.023 回答