Привет всем, на мой взгляд, контроллер я использую imagePickerViewПередача Изображение ImagePickerView в другой View Controller
Когда пользователь выбирает фотографию из библиотеки, я хотел бы выбранная фотография будет отображаться в другом контроллере представления.
Я в настоящее время с помощью раскадровки так, я использую этот метод:
- (void) imagePickerController : (UIImagePickerController *) picker didFinishPickingMediaWithInfo : (NSDictionary *) info {
UIImage * PhotoForEdit = self.FF_image ;
PhotoForEdit = [info objectForKey : UIImagePickerControllerEditedImage ] ;
FFEditingPhotoPost *VCPhotoEdit = [[FFEditingPhotoPost alloc] initWithImage:PhotoForEdit];
[self performSegueWithIdentifier:@"immagine"sender:self];
[self.navigationController pushViewController:VCPhotoEdit animated:NO];
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
FFEditingPhotoPost * controller = (FFEditingPhotoPost *)segue.destinationViewController;
controller.FFOriginalImage = FF_image;
}
Моя проблема заключается в том, что я не могу пойти с раскадровки выбрано изображение вида CONTROLLR следующий ... Где я делаю неправильно ?
Спасибо всем за советы
EDIT: вставить контроллер представления, который должен показать фото
#import "FFEditingPhotoPost.h"
#import "UIImage+Resize.h"
@interface FFEditingPhotoPost()
@end
@implementation FFEditingPhotoPost
@synthesize FFScrollView;
@synthesize FFImageView;
@synthesize FFOriginalImage;
@synthesize SelectedFoto;
@synthesize SelectedFotoMiniature;
- (id)initWithImage:(UIImage *)image {
self = [super initWithNibName:nil bundle:nil];
if (self) {
if (!image) {
return nil;
}
FFOriginalImage = image;
// self.fileUploadBackgroundTaskId = UIBackgroundTaskInvalid;
// self.photoPostBackgroundTaskId = UIBackgroundTaskInvalid;
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
FFScrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
FFScrollView.delegate = self;
FFScrollView.backgroundColor = [UIColor blackColor];
// self.view = FFScrollView;
FFImageView = [[UIImageView alloc] initWithFrame:CGRectMake(20.0f, 42.0f, 280.0f, 280.0f)];
[FFImageView setBackgroundColor:[UIColor blackColor]];
[FFImageView setImage:FFOriginalImage];
[FFImageView setContentMode:UIViewContentModeScaleAspectFit];
FFImageView.layer.masksToBounds = NO;
FFImageView.layer.shadowRadius = 3.0f;
FFImageView.layer.shadowOffset = CGSizeMake(0.0f, 2.0f);
FFImageView.layer.shadowOpacity = 0.5f;
FFImageView.layer.shouldRasterize = YES;
[FFScrollView setContentSize:CGSizeMake(FFScrollView.bounds.size.width, FFImageView.frame.origin.y + FFImageView.frame.size.height + FFImageView.frame.size.height)];
[self shouldUploadImage:FFOriginalImage];
}
- (BOOL)shouldUploadImage:(UIImage *)anImage {
UIImage *resizedImage = [anImage resizedImageWithContentMode:UIViewContentModeScaleAspectFit bounds:CGSizeMake(560.0f, 560.0f) interpolationQuality:kCGInterpolationHigh];
UIImage *thumbnailImage = [anImage thumbnailImage:86.0f transparentBorder:0.0f cornerRadius:10.0f interpolationQuality:kCGInterpolationDefault];
// JPEG to decrease file size and enable faster uploads & downloads
NSData *imageData = UIImageJPEGRepresentation(resizedImage, 0.8f);
NSData *thumbnailImageData = UIImagePNGRepresentation(thumbnailImage);
if (!imageData || !thumbnailImageData) {
return NO;
}
SelectedFoto = [PFFile fileWithData:imageData];
SelectedFotoMiniature = [PFFile fileWithData:thumbnailImageData];
[SelectedFoto saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
NSLog(@"Photo uploaded successfully");
[SelectedFotoMiniature saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
NSLog(@"Thumbnail uploaded successfully");
}
}];
} else {
}
}];
return YES;
}
Почему подталкивают контроллер представления и выполнения операции SEGUE в то же время? –