发送照片到按钮上的下一个屏幕

问题描述:

因此,我正在构建一个IOS应用程序,并且我有一个照片库显示,当您按下它注册的照片时,您可以使用该照片做些事情。基本上我需要的是,当用户按下那张照片时,我需要它来打开另一个屏幕(segue),我需要在新屏幕上知道被按下的特定照片,并将UIViewController设置为该照片的大小。我目前有的代码是发送照片到按钮上的下一个屏幕

 PhotoEditorViewController *editor = [[PhotoEditorViewController alloc] init]; 
ALAsset *asset = self.assets[indexPath.row]; 
ALAssetRepresentation *defaultRep = [asset defaultRepresentation]; 
editor.img = [UIImage imageWithCGImage:[defaultRep fullScreenImage] scale:[defaultRep scale] orientation:UIImageOrientationRight]; 
NSLog(@"Photo Pressed"); 
NSLog(@"%@", editor.img); 

[self presentModalViewController:editor animated:YES]; 

所以这是目前正在做的是获取照片,按下并设置我的UIImage变种。 “img”作为该图像然后当segue被调用时,我可以在其他屏幕上看到viewDidLoad方法,该图像传输过来,但由于某些原因,我无法将该图像设置为UIImageViwer。

的NSLog输出:

在这两个屏幕之一,屏二是显示的UIImage 0X #######

这让我相信照片的身份证信息被传递但是它没有更新的UIImageView

ViewDidLoad 
     { 
      NSLog(@“%hhu%”, editorPhoto); 
      [image setImage:editorPhoto]; 
     } 
+0

请在第二个屏幕上显示应该是“更新UIImageView”的PhotoEditorViewController代码。 – matt

+0

@matt我添加的代码不在家,所以我只添加了重要的代码。因此,当代码运行它打印正确的东西,但如果你断点为setImage它显示图像为空 – Fosterdn007

使用 '准备Segue公司' 方法ViewControllers之间传递数据:

创建PhotoEditorViewCo一个UIImage ntroller举行传递图像

@IBOutlet weak var passedImage: UIImageView! 

在你的第一个视图控制器

雨燕3.0

@IBOutlet weak var selectedImage: UIImageView! 

override fun prepare(for segue: UIStorybordSegue, sender: Any?) { 
     //set destination to PhotoEditorViewController 
     if let destination = segue.destination as? 
     PhotoEditorViewController { 

     //send image to 'passedImage' in PhotoEditorViewController 
     destination.passedImage = selectedImage.image 
} 

Objectivce-C

看到How to pass prepareForSegue: an object

+0

你如何做到这一点在目标c – Fosterdn007

+0

添加链接到相关文章 – flexr

+0

我试过,但它会抛出一个找不到错误的segue – Fosterdn007

在nextViewController.h文件中创建属性。从这里

@property (strong, nonatomic) UIImageView *imgView; 

通图像。

- (IBAction)nextView:(UIButton *)sender { 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    myViewController *VC = [storyboard instantiateViewControllerWithIdentifier:@"myViewControllerID"]; 
    VC.imgView.image = [UIImage imageNamed:@"image.jpg"]; 
    [self.navigationController pushViewController:VC animated:YES]; 
}