Как вставить настроенную строку ниже строки, которая нажата - PullRequest
0 голосов
/ 19 июля 2011

Я занимаюсь разработкой проекта, в котором есть одно требование, чтобы в табличном представлении, когда я коснулся строки, под этой строкой была добавлена ​​одна строка, а также я хочу, чтобы эта строка была настроена так же, как я хочу добавить текстовое представление в этом ряду. Пожалуйста, скажите мне, как я могу это сделать. Любые предложения будут высоко оценены.

Мой текущий код: -

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

    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell;

    cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];`


    if (cell == nil) {
            cell = [self reuseTableViewCellWithIdentifier:CellIdentifier withIndexPath:indexPath];
        }
    UIImageView *imgViewBackground=(UIImageView *)[cell.contentView viewWithTag:20];
    UIImageView *imgView=(UIImageView *)[cell.contentView viewWithTag:21];
    UILabel *label1=(UILabel *)[cell.contentView viewWithTag:22];
    UILabel *label2=(UILabel *)[cell.contentView viewWithTag:23];
    UILabel *label3=(UILabel *)[cell.contentView viewWithTag:24];
    [imgViewBackground setImage:[UIImage imageNamed:@"bba3.png"]
    [imgView setImage:[UIImage imageNamed:@"picdefault.png"]];
        [label1 setText:[self.usernameArray objectAtIndex:indexPath.row]];
    [label2 setText:[NSString stringWithFormat:@"%@",[self.level1Array objectAtIndex:indexPath.row]]];
    [label3 setText:[self.ageArray objectAtIndex:indexPath.row]]];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;//to remove blu selection color
    return cell;
}

-(UITableViewCell *)reuseTableViewCellWithIdentifier:(NSString *)identifier withIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell =[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault  reuseIdentifier:identifier]autorelease];
    if ([identifier isEqualToString:@"Cell"]) {
    UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(10, 0, 300, 98)];
    imageView.tag=20;
    [imageView setImage:[UIImage imageNamed:@"bba2.png"]];
    [cell.contentView addSubview:imageView];
    [imageView release];

    UIImageView *imagePicView=[[UIImageView alloc]initWithFrame:CGRectMake(25, 20, 60, 60)];
    imagePicView.tag=21;
    [cell.contentView addSubview:imagePicView];
    [imagePicView release];


    UILabel *namelabel=[[UILabel alloc]initWithFrame:CGRectMake(90, 20, 200, 20)];
    namelabel.backgroundColor=[UIColor clearColor];
    namelabel.font=[UIFont systemFontOfSize:15];
    namelabel.tag=22;
    [namelabel setTextAlignment:UITextAlignmentLeft];
    [namelabel setTextColor:[UIColor blackColor]];
    [cell.contentView addSubview:namelabel];
    [namelabel release];

    UILabel *activitylabel=[[UILabel alloc]initWithFrame:CGRectMake(90, 40, 200, 20)];
    activitylabel.backgroundColor=[UIColor clearColor];
    activitylabel.font=[UIFont italicSystemFontOfSize:14];
    activitylabel.tag=23;
    [activitylabel setTextAlignment:UITextAlignmentLeft];
    [activitylabel setTextColor:[UIColor darkGrayColor]];
    [cell.contentView addSubview:activitylabel];
    [activitylabel release];

    UILabel *agelabel=[[UILabel alloc]initWithFrame:CGRectMake(90, 60, 200, 20)];
    agelabel.backgroundColor=[UIColor clearColor];
    agelabel.font=[UIFont systemFontOfSize:13];
    agelabel.tag=24;
    [agelabel setTextAlignment:UITextAlignmentLeft];
    [agelabel setTextColor:[UIColor darkGrayColor]];
    [cell.contentView addSubview:agelabel];
    [agelabel release];

    }


    return cell;

}

1 Ответ

1 голос
/ 19 июля 2011

Посмотрите видео разработчика WWDC 2011 об изменениях и советах UITableView - там они описывают, как именно это сделать.К сожалению, не было ни одного примера кода, который я когда-либо смог найти, но они хорошо описывают подход в разговоре.

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