【问题标题】:Getting a uiimage when unwinding is not working in objective-C展开时获取uiimage在objective-C中不起作用
【发布时间】:2014-11-26 07:29:43
【问题描述】:

好的,所以我让用户在 uiimageView 中添加图像。当我尝试在前一个视图控制器上显示相同的图像时(在我的情况下,前一个视图控制器是单元格上的图像)它给了我一个错误(尽管它没有说明它是什么类型的错误)。

下面是来自第二个视图控制器的代码,用户可以在其中选择一个图像(它显示在该视图控制器上没有任何问题)。

-(void) handleImageGallery
{
    self.imagePicker = [[UIImagePickerController alloc] init];
    self.imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    self.imagePicker.delegate = self;
    [self presentViewController:self.imagePicker animated:YES completion:nil];
}

-(void) imagePickerController:(UIImagePickerController *)picker     didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    NSData *dataImage = UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"], 1);
    UIImage *img = [[UIImage alloc] initWithData:dataImage];
    [self.imageView setImage:img];
    [self.imagePicker dismissViewControllerAnimated:YES completion:nil];
}

这是第一个 ViewController 上的代码:

- (IBAction)unwindToTableViewController:(UIStoryboardSegue *)sender
{
secondViewController *addVC = (AddViewController *)sender.sourceViewController;
UIImage *showImage = addVC.imageView.image;

    //myImage is an already defined NSMutablearray
    [myImage insertObject:textImage atIndex:0];

    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];

    [self.myTableView beginUpdates];
    [self.myTableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
    [self.myTableView endUpdates]

}

代码给了我一个错误,所以我在xcode中添加了一个图像并替换 UIImage *showImage = addVC.imageView.image; 用这个: NSString *textImage = @"coffee.jpg"; 它给了我那个形象。但我想要的是用户在第二个视图控制器中选择要在第一个视图控制器中显示的图像。

【问题讨论】:

  • 你能对我的问题加分吗???
  • 它给了你什么错误?也许你的班级不叫secondViewController,而是AddViewController?
  • 不,它的第二个ViewController。它没有给出可读错误,它给出了十六进制数字

标签: ios objective-c xcode uiimageview uiimage


【解决方案1】:

所以你基本上所做的就是将数据从一个视图控制器传回另一个视图控制器。有一个很好的链接解释了这一切。 Passing Data between View Controllers希望对你有帮助

【讨论】:

  • 我可以传递数据(向前和向后),但我不能用图像来传递。
  • 你看到链接了吗?明确定义,当向后传递数据时,您需要使用协议。检查整数是否在您的情况下向后传递
  • 是的,我查看了链接,但没有看到我要查找的内容。可以举个例子吗?
  • 看看你需要做的是在关闭你的 secondviewcontroller 之前向后传递数据。为此,您必须正确阅读并实施链接中给出的内容。在将数据从一个控制器向后传递到另一个控制器时,您需要实现协议和委托。因此,请仔细阅读链接中的“向后传递数据”部分。
  • 你能举个例子吗?我在objectiv c方面没有那么先进
猜你喜欢
  • 2013-05-12
  • 1970-01-01
  • 1970-01-01
  • 2015-10-23
  • 1970-01-01
  • 2022-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多