发送照片到按钮上的下一个屏幕
问题描述:
因此,我正在构建一个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];
}
答
使用 '准备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
答
在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];
}
请在第二个屏幕上显示应该是“更新UIImageView”的PhotoEditorViewController代码。 – matt
@matt我添加的代码不在家,所以我只添加了重要的代码。因此,当代码运行它打印正确的东西,但如果你断点为setImage它显示图像为空 – Fosterdn007