UPDATEПросмотр не отображается в didFinishPickingMediaWithInfo
Потратив несколько часов я нашел решение для меня. Одна из проблем заключалась в том, что segue не показывался после выбора изображения.
У меня все еще есть проблема, что вкладка secondView не отображается .. Но я могу видеть изображение NOOOW !!
Но благодарю вас за помощь !!!!
Вот мой код:
//FirstView.m
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
self->takenImage = image;
[picker dismissModalViewControllerAnimated:NO];
double delayInSeconds = 0.5;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self performSegueWithIdentifier:@"ToSecondView" sender:self];
});
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"ToSecondView"]){
SecondView *editViewController =
(SecondView *)segue.destinationViewController;
//editViewController.imageView.image = self->takenImage;
[editViewController setMyImage:takenImage];
}
}
//SecondView.h
@property (nonatomic, strong) UIImage *myImage;
//SecondView.m в viewDidLoad
self.imageView.image = _myImage;
UPDATE: Для лучшего понимания, я после моего остальную часть моего кода:
FirstView:
@interface FirstView : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
@end
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[picker dismissViewControllerAnimated:YES completion:^{
SecondView *svc = [[ShowPicture alloc] initWithNibName:@"SecondView" bundle:nil];
[svc setMyImage:image];
[self presentViewController:svc animated:YES completion:nil];
}];
}
** SecondView **:
@interface ShowPicture: UIViewController
@property (nonatomic, retain) UIImageView *imageView;
@property (nonatomic, strong) UIImage *myImage;
-(void)viewDidLoad{
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(85, 90, 150, 150)];
self.imageView.image = _myImage;
[[self view] addSubview: imageView];
}
im становится действительно отчаянным. Я хочу выбрать с UIImagePickerController фотографию и хочу отобразить ее в другом виде. После того, как вы попытались использовать разные методы, им не удалось показать второе представление, где должно быть размещено изображение.
Мой код:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[picker dismissViewControllerAnimated:YES completion:^{
SecondView *svc = [[SecondView alloc] initWithNibName:@"SecondView" bundle:nil];
svc.imageView.Image = image;
[self presentViewController:svc animated:YES completion:nil];
}];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"toSecondView"]){
ShowPicture *showPicture =
(ShowPicture *)segue.destinationViewController;
//showPicture.imageView.image = self.imageChosen;
SecondView Picture *cvc = [segue destinationViewController];
cvc.image = newImage;
}
}
Когда им нажав Выбрать БТН, экран переходит к представлению, где вы можете увидеть фотоальбомы ..
Что я делаю не так ?? :/ Большое спасибо
Вы установили 'UIImag Делегат ePickerController'? – zaph
Используете ли вы соединение segue для перехода к представлению ShowPicture или через код? Потому что в imagePickerDelegate вы вручную представляете это представление, тогда как вы также используете метод prepareForSegue. – Mrunal