tableview标题分为两行

时间:2011-01-18 17:10:46

标签: iphone xcode uitableview header uilabel

我是意大利人,很抱歉我的“丑陋”英语!

我正在使用UITableview,我的(动态)标题太长了! 所以我想将标题分成两行......是否可能?

我试过uso“label.numberOfLines = 2”(或= 0),但它不起作用!

这是代码:

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
   UILabel *label = [[[UILabel alloc] init] autorelease];
    label.backgroundColor = [UIColor clearColor];

    NSString *header1 = [NSString stringWithFormat:@"Between %@ and %@ \n (33ª and 37ª week)", dateString1, dateString2];

    if (section == 0){
            label.text = header1;
            label.frame = CGRectMake(0, 6, 300, 30);
    } else
    //the others header

    label.numberOfLines = 2;

    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];
    [view autorelease];
    [view addSubview:label];

    return view;}
谢谢!!

2 个答案:

答案 0 :(得分:4)

label.numberOfLines = 2仅显示标签的高度是否足以容纳两行。此外,行高将取决于字体大小。确保标签足够高,以适合给定字体大小的两行文本。尝试使字体更小或标签更大。

答案 1 :(得分:1)

你应该在其他地方为你的标签设置框架,特别是因为它需要更大才能容纳两行文字。

你可以这样做:

    label.frame = CGRectMake(0, 0, 320, 30); // trying bigger heights
    label.numberOfLines = 2;
    // ...