【问题标题】:Adding imageViews to next row of table view将 imageViews 添加到表视图的下一行
【发布时间】:2011-09-20 05:35:33
【问题描述】:

在我的应用程序中,我有一个表格视图,我将 4 个图像视图添加到我的表格视图的第一行。现在我想将图像视图添加到下一行。请问如何在现有代码中执行此操作帮助。我正在发布我的部分代码:--

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

    UITableViewCell *cell = nil;
    static NSString *AutoCompleteRowIdentifier = @"AutoCompleteRowIdentifier";
    cell = [tableView dequeueReusableCellWithIdentifier:AutoCompleteRowIdentifier];

    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:AutoCompleteRowIdentifier] autorelease];

        UIImageView * imageView1 = [[[UIImageView alloc] initWithFrame:CGRectMake(25, 4, 80, 80)] autorelease];
        UIImageView * imageView2 = [[[UIImageView alloc] initWithFrame:CGRectMake(115,4,80, 80)] autorelease];
        UIImageView * imageView3 = [[[UIImageView alloc] initWithFrame:CGRectMake(205,4, 80, 80)] autorelease];
        UIImageView * imageView4 = [[[UIImageView alloc] initWithFrame:CGRectMake(295,4, 80, 80)] autorelease];
        UIImageView * imageView5 = [[[UIImageView alloc] initWithFrame:CGRectMake(25, 4, 80, 80)] autorelease];
        UIImageView * imageView6 = [[[UIImageView alloc] initWithFrame:CGRectMake(115,4,80, 80)] autorelease];

        int j=0;
        imageView1.tag = j;
        imageView2.tag = j+1;
        imageView3.tag = j+2;
        imageView4.tag = j+3;
        imageView5.tag = j+4;
        imageView6.tag = j+5;

        [cell.contentView addSubview:imageView1];
        [cell.contentView addSubview:imageView2];
        [cell.contentView addSubview:imageView3];
        [cell.contentView addSubview:imageView4];
        [cell.contentView addSubview:imageView5];
        [cell.contentView addSubview:imageView6];
}

for ( int i = 1; i <= j; i++ ) {
    imageView = (UIImageView *)[cell.contentView viewWithTag:i];
    imageView.image = nil;
}

int photosInRow;

if ( (indexPath.row < [tableView numberOfRowsInSection:indexPath.section] - 1) || ([sentence count] % 4 == 0) ) {
    photosInRow = 4;
} else {
    photosInRow = [sentence count] % 4;
}

for ( int i = 1; i <=[sentence count]; i++ ){
    imageView = (UIImageView *)[cell.contentView viewWithTag:i];
    [self setImage1:imageView];
}

    return cell;
}

我希望 mu imageView 5 和 6 位于下一行。请帮忙。怎么做?我正用头撞墙寻找这个。

谢谢, 克里斯蒂

【问题讨论】:

    标签: objective-c xcode ipad uitableview


    【解决方案1】:

    您可以尝试以下操作...您基本上检查当前行号然后构建您所需的逻辑...

    UITableViewCell *cell = nil;
    static NSString *AutoCompleteRowIdentifier = @"AutoCompleteRowIdentifier";
    cell = [tableView dequeueReusableCellWithIdentifier:AutoCompleteRowIdentifier];
    if (cell == nil) 
    {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:AutoCompleteRowIdentifier] autorelease];
    }
    
    int j=0; imageView1.tag = j;
    
    
    if(0 == [indexPath row])
    {
    UIImageView * imageView1 = [[[UIImageView alloc] initWithFrame:CGRectMake(25, 4, 80, 80)] autorelease];
    
    UIImageView * imageView2 = [[[UIImageView alloc] initWithFrame:CGRectMake(115,4,80, 80)] autorelease];
    
    UIImageView * imageView3 = [[[UIImageView alloc] initWithFrame:CGRectMake(205,4, 80, 80)] autorelease];
    
    UIImageView * imageView4 = [[[UIImageView alloc] initWithFrame:CGRectMake(295,4, 80, 80)] autorelease];
    
    
    imageView2.tag = j+1;
    
    imageView3.tag = j+2;
    
    imageView4.tag = j+3;
    
        [cell.contentView addSubview:imageView1];
    
                [cell.contentView addSubview:imageView2];
    
                [cell.contentView addSubview:imageView3];
    
                [cell.contentView addSubview:imageView4];
    
    
    
    }else if(0 == [indexPath row])
    {
    UIImageView * imageView5 = [[[UIImageView alloc] initWithFrame:CGRectMake(25, 4, 80, 80)] autorelease];
    
    UIImageView * imageView6 = [[[UIImageView alloc] initWithFrame:CGRectMake(115,4,80, 80)] autorelease];
    
    
    imageView5.tag = j+1;
    
    imageView6.tag = j+2;
    
    
    
                [cell.contentView addSubview: imageView5];
    
                [cell.contentView addSubview:imageView6];
    
    
    }
    
        for ( int i = 1; i <= j; i++ ) {
        imageView = (UIImageView *)[cell.contentView viewWithTag:i];
    
        imageView.image = nil;
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      相关资源
      最近更新 更多