加载更多单元格UITableView

时间:2013-12-11 20:23:24

标签: ios uitableview

我正在尝试将Load More Cell添加到我的tableview中。从5行开始,当我单击“加载更多单元格”并添加更多5行时。所有工作都没有负载更多细胞有图像,但我不想要它。我试图解决它,但它不起作用。

表开始 http://i.stack.imgur.com/Ld2ED.png

单击“加载更多单元格”后的

http://i.stack.imgur.com/A5xjE.png

这是我的cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

#define IMAGE_VIEW_TAG 99
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (indexPath.section == 0) {
        //create new cell
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        //add AsyncImageView to cell
        AsyncImageView *imageView = [[AsyncImageView alloc] initWithFrame:CGRectMake(5.0f, 5.0f, 50.0f, 50.0f)];
        imageView.contentMode = UIViewContentModeScaleAspectFill;
        imageView.clipsToBounds = YES;
        imageView.tag = IMAGE_VIEW_TAG;
        [cell addSubview:imageView];
        [imageView release];

        //common settings
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        cell.accessoryType = UITableViewCellAccessoryNone;
        cell.indentationWidth = 44.0f;
        cell.indentationLevel = 1;
        //get image view
        AsyncImageView *imgView = (AsyncImageView *)[cell viewWithTag:IMAGE_VIEW_TAG];

        //cancel loading previous image for cell
        [[AsyncImageLoader sharedLoader] cancelLoadingImagesForTarget:imgView];

        //load the image

        imgView.imageURL = [imageURLs objectAtIndex:indexPath.row];

        //display image path
        cell.textLabel.text = [tableData objectAtIndex:indexPath.row ];


    }


   else if (indexPath.section == 1) {

        cell.textLabel.text = [NSString stringWithFormat:NSLocalizedString(@"Load More...", @"The text to display to load more content"), kNumberOfItemsToAdd];
        cell.imageView.image = Nil;
        cell.textLabel.textColor = [UIColor colorWithRed:0.196f green:0.3098f blue:0.52f alpha:1.f];
        cell.textLabel.font = [UIFont boldSystemFontOfSize:12.f];

    }

numberOfSection

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    if (numberOfItemsToDisplay == [tableData count]) {
        return 1;
    }
    return 2;
}



- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
//    return 5;
//    return tableData.count;
    if (section == 0) {
        return numberOfItemsToDisplay;
    } else {
        return 1;
    }


}

1 个答案:

答案 0 :(得分:1)

替换这个:

else if (indexPath.section == 1) {
  cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
  ...
  ...
  ...
}