Как управлять несколькими ярлыками в одном ряду, но нет.ячейки в табличном представлении зависит от массива в iPhone SDK. - PullRequest
1 голос
/ 25 мая 2011

Я хочу отобразить вывод следующим образом:

Для этого используются два раздела.1-й - для заголовка, 2-й - для отображения данных, но в столбце даты даты являются динамическими, поскольку это зависит от данных анализа, что означает, что ни одна строка не зависит от этого массива.

Так что кто-нибудь может мне предложить,Как я могу поместить несколько меток в одну строку для этого ниже мой код: в CellForRowAtIndexPath ()

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    NSString *MyIdentifier = [NSString stringWithFormat:@"MyIdentifier %i", indexPath.row];

    MyTableCell *cell = (MyTableCell *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];

    if (cell == nil) 

    {
        cell = [[[MyTableCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];
    }


    for (UIView * view in cell.contentView.subviews) 
    {
        [view removeFromSuperview];

    }

    if (indexPath.section==0)
    {
        [cell addColumn:130];

        label =[[[UILabel   alloc] initWithFrame:CGRectMake(0.0, 0, 64.0, 45)]  autorelease]; 

        //label.tag = LABEL_TAG; 
        label.font = [UIFont boldSystemFontOfSize:12]; 
        label.text = @"Date";//[NSString stringWithFormat:@"%d", indexPath.row];
        label.textAlignment = UITextAlignmentCenter; 
        label.textColor = [UIColor blackColor]; 
        label.backgroundColor=[UIColor brownColor];
        label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | 
        UIViewAutoresizingFlexibleHeight; 
        [cell.contentView addSubview:label]; 


        //[cell addColumn:200];
        label1 =[[UILabel   alloc] initWithFrame:CGRectMake(66, 0, 64.0, 45)] ; 


        //label1.tag = VALUE_TAG; 
        label1.font = [UIFont boldSystemFontOfSize:12]; 
        // add some silly value
        //label.text = [NSString stringWithFormat:@"%d", indexPath.row * 4];
        label1.text = @"Gold";
        label1.textAlignment = UITextAlignmentCenter; 
        label1.backgroundColor=[UIColor brownColor];
        [cell.contentView addSubview:label1];




        label2 =[[UILabel   alloc] initWithFrame:CGRectMake(132.0, 0, 64, 45)] ; 
        //[cell addColumn:260];
        label2.font = [UIFont boldSystemFontOfSize:12]; 
        label2.text = @"Silver";
        label2.textAlignment = UITextAlignmentCenter; 
        label2.backgroundColor=[UIColor brownColor];
        [cell.contentView addSubview:label2];




        label3 =[[UILabel   alloc] initWithFrame:CGRectMake(198.0, 0, 62, 45)] ; 
        //  [cell addColumn:350];
        label3.font = [UIFont boldSystemFontOfSize:12]; 
        label3.text =@"Bronze";
        label3.textAlignment = UITextAlignmentCenter; 
        label3.backgroundColor=[UIColor brownColor];
        [cell.contentView addSubview:label3];



        label4 =[[UILabel   alloc] initWithFrame:CGRectMake(262.0, 0, 61, 45)] ; 
        //  [cell addColumn:350];
        label4.font = [UIFont boldSystemFontOfSize:12]; 
        label4.text =@"Avg Conf";
        label4.textAlignment = UITextAlignmentCenter; 
        label4.backgroundColor=[UIColor brownColor];
        [cell.contentView addSubview:label4];



    }

    else  
    {label5 = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0, 64.0, 150)]; 
    label5.font = [UIFont boldSystemFontOfSize:12]; 
    label5.numberOfLines=4;
     label5.text = [arr objectAtIndex:indexPath.row];
    label5.textAlignment = UITextAlignmentLeft; 
    label5.textColor = [UIColor blackColor]; 
    label5.backgroundColor=[UIColor grayColor];
    [cell.contentView addSubview:label5];
    }
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    return cell;
}  

enter image description here
и OutPut появится в соответствии со 2-го изображения] 1

OutPut Screen According to code in CellForRowAtIndex()

1 Ответ

0 голосов
/ 25 мая 2011

Лучший способ сделать это - создать CustomTableViewCell. Где в файле пера можно легко нарисовать желаемую выходную ячейку (более 1 метки, добавление изображения и т. Д.).

Отсюда вы можете взять образец.

Более подробно для вашего приведенного примера: создайте две пользовательских ячейки 1 для заголовка и 1 для всех данных, которые будут отображаться. Где ваши данные - NSArray из NSArray.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...