仅显示一个单元格

时间:2013-10-25 14:18:03

标签: ios uitableview

我想要隐藏没有数据的其他单元格,因为我会在用户拍照时填充单元格。

例如

这是表格视图单元格,因为用户拍摄的单元格应该基本上显示覆盖的单元格。

-------------------                                     1)------------------
                           hiding the cell
-------------------      -------------------->            -------------------

-------------------       

当用户拍摄照片时,左侧的桌面视图应该在右侧。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{

    UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage];

    self.thumbnails = image;



   [self.imageView setImage:image];

    [self dismissViewControllerAnimated:YES completion:NULL];

    self.imagePickerController = nil;

    [self.view addSubview:tableViewCell];
 }  




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

    static NSString * CellIdentifier = @"CustomCell";

    CustomTableViewCell *cell = (CustomTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(cell == Nil){

        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }

    UIImage *thumbnail = self.thumbnails;
    cell.photoInfoLabel.text = @"New";
    cell.thumbnailImageView.image = thumbnail;
    return cell;
}

2 个答案:

答案 0 :(得分:0)

您可以通过调用

强制tableview设置它的单元格
[tableView reloadData];

这会导致调用tableViews委托方法:

// how many rows (or cells) are there
- (NSInteger) tableView:(UITableView *)tableView
  numberOfRowsInSection:(NSInteger)section;

// create row/cell (or dequeue a reusable row/cell), set contents the row/cell
- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath;

您可以在viewController中实现此方法,以控制单元格数量及其内容。

答案 1 :(得分:0)

插入新单元格

-(void)imageCaptured
{
   // NSMutableArray
   [self.aTableContent addObject:@"Some Object"];

   // Table View
   [self.aTableView beginUpdates];
   [self.aTableView insertRowsAtIndexPaths:@[ [NSIndexPath indexPathForRow:1 inSection:0] ] withRowAnimation:UITableViewRowAnimationAutomatic];
   [self.aTableView endUpdates];
}