2013-12-11 60 views
0

我想添加加载更多单元格到我的tableview。从5行开始,当我点击Load More Cell并添加更多5行时。所有工作正常,没有加载更多的细胞有图像,但我不想要它。我试图修复它,但它不起作用。加载更多单元格UITableView

表开始 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; 
    } 


} 
+0

找到一种方法,以检测“装载更多的”表格单元格,然后设置的ImageView为nil – rocky

+0

我设置cell.imageView.image =无; 但加载更多单元格仍然有图像 –

+0

您是否可以更新您的代码以反映您在评论中提到的更改? – rocky

回答

1

替换此:

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

非常感谢你!我不认为这是如此简单 –

+0

你可以标记这是正确的答案? – rocky

+0

谢谢你,不客气=) – rocky