因此,当我按下拍摄按钮时,它正在拍照并且我可以将图像保存在相机胶卷中。但是当我想在另一个视图中看到图像时,我看不到它。
这是我的代码:
- (IBAction)captureButton:(id)sender
{
[self.cameraViewController captureImageWithCompletionHander:^(id data) {
self.image = ([data isKindOfClass:[NSData class]]) ? [UIImage imageWithData:data] : data;
UIImageWriteToSavedPhotosAlbum(self.image, nil, nil, nil);
[self performSegueWithIdentifier:@"savingSegue" sender:self];
}];
}
这是对segue方法的准备。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"savingSegue"]) {
PhotoSaveViewController *pvc = [[PhotoSaveViewController alloc] init];
[pvc.imageView setImage:self.image];
}
}
答案 0 :(得分:0)
听起来您的目标视图控制器是UINavigationController
。我猜它的顶视图控制器是你想要的。您可以像这样访问它(尽管您可能希望添加类型检查):
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"savingSegue"]) {
UINavigationController *navigationController = segue.destinationViewController;
PhotoSaveViewController *pvc = (PhotoSaveViewController *)navigationController.topViewController;
[pvc.imageView setImage:self.image];
}
}
答案 1 :(得分:0)
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"savingSegue"])
{
YourNextViewController*ImageView=segue.destinationViewController;
UIImage*clickedImage=capturedPicImageView.image;
ImageView.passedImage=clickedImage;
// NSLog(@"%@",editView.editPhotoImgView.image);
}
}
(并在YourNextViewController中创建UIImage*clickedImage
并为其提供属性。并且不要忘记在viewDidLoad中分配。希望这会有所帮助。