尝试在声明方法后显示视图控制器

时间:2013-11-28 18:12:21

标签: ios objective-c uiviewcontroller uiimageview pushviewcontroller

这是我的代码,我不知道它有什么问题。我担心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

1 个答案:

答案 0 :(得分:0)

在你的imagePickerController中:didFinishPickingMediaWithInfo将最后4个替换为:

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