簡體   English   中英

如何在Objective c中將捕獲圖像添加到UITableView

[英]How to add Capture Image to UITableView in Objective c

我是iOS的新手,我面臨有關在Image Picker中設置UITableView中的圖像的問題。

我的代碼是這樣的

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
    CGSize newSizeClient=CGSizeMake(200,200); // I am giving resolution 50*50 , you can change your need
    UIGraphicsBeginImageContext(newSizeClient);
    [image drawInRect:CGRectMake(0, 0, newSizeClient.width, newSizeClient.height)];
    UIImage* newImageClient = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    captureimg.image = newImageClient;

    [imageArray replaceObjectAtIndex:index withObject:captureimg.image];

    dispatch_async(dispatch_get_main_queue(), ^{
        [Audittable reloadData];
    });

    NSData *imgData = [[NSData alloc] initWithData:UIImageJPEGRepresentation((newImageClient), 0.5)];
    OCSSignString = [imgData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

    [picker dismissModalViewControllerAnimated:YES];

    imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 30,40,40)];
    UIImage *wonImage = captureimg.image;
    imageView.contentMode=UIViewContentModeCenter;
    [imageView setImage:wonImage];

}

在cellforRowAtIndexPath中

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
      cell.Photobtn.tag=indexPath.row;
[cell.Photobtn addTarget:self action:@selector(btnphotoClick:) forControlEvents:UIControlEventTouchUpInside];  
  cell.CaptureImage.image = [imageArray objectAtIndex:indexPath.row];
}

我面臨的問題是它沒有根據圖像中的行進行設置

在此處輸入圖片說明

我正在根據tableviewcell捕獲圖像

-(void)btnphotoClick:(UIButton *)sender
{
     AuditNextTableViewCell *cell = sender.superview.superview;


    imageArray =[[NSMutableArray alloc]init];
    for (int i=0; i<idarray.count; i++) {
        [imageArray addObject:[UIImage new]];
    }

    index=sender.tag;

    if (! [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

        UIAlertView *deviceNotFoundAlert = [[UIAlertView alloc] initWithTitle:@"No Device" message:@"Camera is not available"
                                                                     delegate:nil
                                                            cancelButtonTitle:@"Okay"
                                                            otherButtonTitles:nil];
        [deviceNotFoundAlert show];
    }
    else
    {
        UIImagePickerController *cameraPicker = [[UIImagePickerController alloc] init];
        cameraPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
        cameraPicker.delegate =self;
        [self presentViewController:cameraPicker animated:YES completion:nil];
    }
}

我面臨的問題是它已經過去了。謝謝您!

問題在於您每次使用空的UIImage對象初始化imageArray時所執行的按鈕操作。 從您的按鈕操作中刪除此代碼。

imageArray = [[NSMutableArray alloc]init];
for (int i=0; i<idarray.count; i++) {
    [imageArray addObject:[UIImage new]];
}

首次加載tableView時,只需使用空UIImage對象初始化一次imageArray即可。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
   {
      BookingCell *cell=(BookingCell*)[self.tablebview cellForRowAtIndexPath:indexPath];
      cell.CaptureImage.image = image;
   }

  -(IBAction)buttonclick:(id)sender
   {
      CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView];
      NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition];
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM