HomeVIEwController(场景1)有一个按钮,可以加载UIImagePickerController并返回来自摄像头的图像. CreateVIEwController(场景2)有一个空的UIImageVIEw.
HomeVIEwController.h
#import "CreateVIEwController.h"@interface HomeVIEwController : UIVIEwController<UIImagePickerControllerDelegate,UINavigationControllerDelegate>@property (strong,nonatomic) UIImagePickerController *imagePicker;@property(nonatomic,retain) UIImage *myImage;- (IBAction)cameraimage:(ID)sender;
HomeVIEwController.m
@implementation HomeVIEwController@synthesize imagePicker,myImage;-(voID) prepareForSegue:(UIStoryboardSegue *)segue sender:(ID)sender {if ( [segue.IDentifIEr isEqualToString:@"create"]) { CreateVIEwController *cvc = [segue destinationVIEwController]; UIImage *image = myImage; cvc.myImage = image;}}//Camera button action- (IBAction)cameraimage:(ID)sender{//UIImagePickerController space in memoryimagePicker = [[UIImagePickerController alloc]init];//Set the delegateimagePicker.delegate = self;//Set the sourceTypeimagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;//Show Image Picker UI[self presentVIEwController:imagePicker animated:YES completion:^{}];}-(voID) imagePickerController:(UIImagePickerController *)picker dIDFinishPickingMediawithInfo: (NSDictionary *)info {self.myImage = [info objectForKey:UIImagePickerControllerOriginalimage];[self dismissVIEwControllerAnimated:YES completion:^{}];[self performSegueWithIDentifIEr:@"create" sender:self];}- (voID)imagePickerControllerDIDCancel:(UIImagePickerController *)picker{[self dismissVIEwControllerAnimated:YES completion:^{}];}
CreateVIEwController.h
@property (strong,nonatomic) IBOutlet UIImageVIEw *bgImage;@property(nonatomic,retain) UIImage *myImage;
CreateVIEwController.m
@implementation CreateVIEwController@synthesize bgImage,myImage;- (voID)vIEwDIDLoad{[super vIEwDIDLoad];UIImage *image = myImage;[bgImage setimage:image];}
在此下载示例代码; http://code-blind.com/ios6-camera-picture-to-another-scenes-uiimageview/
解决方法 如果以编程方式实例化控制器,则不必使用segue.实现这一目标的最简单方法就是这样
-(voID) imagePickerController:(UIImagePickerController *)picker dIDFinishPickingMediawithInfo:(NSDictionary *)info { [picker dismissVIEwControllerAnimated:YES completion:nil]; UIImage * pickedImage = [info objectForKey:UIImagePickerControllerOriginalimage]; displayVIEwController * controller = [displayVIEwController new]; controller.imageVIEw.image = pickedImage; [self.navigationController pushVIEwController:controller animated:YES];}
如果你想使用segue,你需要手动调用它
[self performSegueWithIDentifIEr:@"your-segue-name" sender:self];
然后你可以在HomeVIEwController中使用一个ivar来存储pickedImage并将它传递给你的destinationVIEwController.
- (voID)prepareForSegue:(UIStoryboardSegue *)segue sender:(ID)sender { displayVIEwController * controller = (displayVIEwController *)segue.destinationVIEwController; controller.imageVIEw.image = _pickedImage;}
其中_pickedImage是在拾取图像后存储图像的ivar.
总结以上是内存溢出为你收集整理的ios – 如何将图像从uiimagepickercontroller传递到另一个场景的uiimageview全部内容,希望文章能够帮你解决ios – 如何将图像从uiimagepickercontroller传递到另一个场景的uiimageview所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)