在表视图中显示特定大小的两个部分

时间:2011-11-15 06:36:53

标签: objective-c ios cocoa-touch uitableview

我正在尝试使用数组填充表格视图,但我想要两个部分,在第一部分中,我想要显示从indexpath.row == 0indexpath.row == 4的信息,在第二部分中从indexpath.row == 5indexpath.row == 9的信息。我怎样才能做到这一点?我有第二部分的代码:

 if (indexPath.section == 1){
        static NSString *CellIdentifier = @"LazyTableCell";
        static NSString *PlaceholderCellIdentifier = @"PlaceholderCell";
        int nodeCount = [self.entries count];
        UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
                                       reuseIdentifier:CellIdentifier] autorelease];
        if (nodeCount > 0)
        {
            if (indexPath.row > 4) {

                AppRecord *appRecord = [self.entries objectAtIndex:indexPath.row];
                cell.textLabel.text = appRecord.artist;
                cell.detailTextLabel.text = appRecord.appName;
                if (!appRecord.appIcon)
                {
                    if (self.tableView.dragging == NO && self.tableView.decelerating == NO)
                    {
                        [self startIconDownload:appRecord forIndexPath:indexPath];
                    }
                    cell.imageView.image = [UIImage imageNamed:@"Placeholder.png"];               
                }
                else
                {
                    UIImage *image = appRecord.appIcon;
                    CGSize itemSize = CGSizeMake(83.0, 48.0);
                    UIGraphicsBeginImageContext(itemSize);
                    CGRect imageRect = CGRectMake(0.0, 0.0, 83.0, 48.0);
                    [image drawInRect:imageRect];
                    appRecord.appIcon = UIGraphicsGetImageFromCurrentImageContext();
                    UIGraphicsEndImageContext();
                    cell.imageView.image = appRecord.appIcon;    
                }


        }
        return cell;  
    }
}

1 个答案:

答案 0 :(得分:1)

设置此功能中的部分数

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
   return 2;
}

也许你也想实现

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    return @"section title";
}

设置以下函数中的行数

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
   return 5; // since you have 0-4 and 5-9 for the two sections
}

在你的代码中看到[self.entries objectAtIndex:indexPath.row]; 我假设self.entries是你一直在谈论的那个数组。 您可以在

中初始化UITableViewCell属性
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

通过使用section和row的组合来获取self.entries的索引,可能类似于

AppRecord *appRecord = [self.entries objectAtIndex:indexPath.row+5*indexPath.section];

我希望我的问题是对的。