0

Вот мой код, я не знаю, что с ним не так. Я беспокоюсь о методе ImagePickerController. Что-то не так с этим? Я объявил свойство для представления изображения, я просто хочу, чтобы ViewController перешел на мой EditViewController, но после того, как я выбрал изображение, он возвращает меня в ViewController вместо редактирования контроллера вида. ViewController.h:Попытка получить контроллер представления для отображения после того, как метод был объявлен

#import <UIKit/UIKit.h> 
#import <iAd/iAd.h> 
@interface ViewController : UIViewController <UIImagePickerControllerDelegate , 
UINavigationControllerDelegate ,ADBannerViewDelegate> 

-(IBAction)GoToEdit:(id)sender; 
@property (weak, nonatomic) IBOutlet UIImageView *imageView; 
@property (strong,nonatomic) UIImage *chosenImage; 
@property (strong,nonatomic) UIImagePickerController *imagePicker; 

@end 

ViewController.m

- (IBAction)chooseImage:(id)sender { 
self.imagePicker = [[UIImagePickerController alloc] init]; 
self.imagePicker.delegate = self; 
[self.imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
[self presentViewController:self.imagePicker animated:YES completion:nil]; 
} 


-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo: 
(NSDictionary *)info{ 
self.chosenImage = info[UIImagePickerControllerOriginalImage]; 
[self.imageView setImage:self.chosenImage]; 
[self dismissViewControllerAnimated:YES completion:nil]; 
EditViewController *editViewController = [[EditViewController alloc]init]; 
editViewController.chosenImage = self.chosenImage; 
[self.navigationController pushViewController:editViewController animated:YES]; 
} 

EditViewController.h (Объявление недвижимости для ImageView)

#import <UIKit/UIKit.h> 

@interface EditViewController : UIViewController 

@property (strong,nonatomic) UIImage *chosenImage; 

@end 
+0

Поместите материал editviewcontroller в обработчик завершения функции offsetViewControllerAnimated. –

ответ

0

В вашем imagePickerController: didFinishPickingMediaWithInfo заменить последний 4 с:

[self dismissViewControllerAnimated:YES completion:^{ 
    EditViewController *editViewController = [[EditViewController alloc]init]; 
    editViewController.chosenImage = self.chosenImage; 
    [self.navigationController pushViewController:editViewController animated:YES]; 
}]; 
+0

Привет, Грег, теперь я получаю сообщение об ошибке «несовместимые типы указателей, назначающие« UIImageView »из« UIImage * ». – htjohn

+0

Эта часть кода, показанная здесь, выглядит отлично. Можете ли вы отправить код, в котором вы используете selectedImage в файле EditViewController.m? Знаете ли вы, на какой строке вы получаете эту ошибку? – Greg

+0

Привет, Грег, я исправил ошибку, но она все еще не открывается EditViewController. Я объявлял selectedImage на EditViewController.h или должен ли я объявить его на EditViewController.m? – htjohn

Смежные вопросы