所以我正在构建一个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 var。 " IMG"当那个图像然后当segue被调用时,我可以在其他屏幕上看到viewDidLoad方法,该图像传输但由于某种原因我无法将该图像设置为UIImageViwer。
NSLog输出:
在屏幕1和屏幕2上都显示UIImage 0x #######
这使我相信照片ID信息正在转移,但它没有更新uiimageview
ViewDidLoad
{
NSLog(@“%hhu%”, editorPhoto);
[image setImage:editorPhoto];
}
答案 0 :(得分:0)
使用'准备Segue'在ViewControllers之间传递数据的方法:
在PhotoEditorViewController中创建一个UIImage来保存传递的图像
@IBOutlet weak var passedImage: UIImageView!
在你的第一个ViewController中
Swift 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 强>
答案 1 :(得分:0)
在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];
}