Ios 将UIImage从一个Viewcontroller传递到另一个Viewcontroller会得到零
我试图用传递NSString的相同方式将UIImage从一个Viewcontroller传递到另一个Viewcontroller,但如果是image,它在第二个控制器中会获得nil值。我使用imagepickercontroller在第一个控制器中从gallery中选择image。 这是InfoViewcontroller.h-Ios 将UIImage从一个Viewcontroller传递到另一个Viewcontroller会得到零,ios,objective-c,uiimagepickercontroller,viewcontroller,Ios,Objective C,Uiimagepickercontroller,Viewcontroller,我试图用传递NSString的相同方式将UIImage从一个Viewcontroller传递到另一个Viewcontroller,但如果是image,它在第二个控制器中会获得nil值。我使用imagepickercontroller在第一个控制器中从gallery中选择image。 这是InfoViewcontroller.h- #import <UIKit/UIKit.h> @interface InfoViewController : UIViewController @pr
#import <UIKit/UIKit.h>
@interface InfoViewController : UIViewController
@property(strong,nonatomic) UIImagePickerController *imagepicker;
@property(strong,nonatomic) UIImage *image1;
@end
#import <UIKit/UIKit.h>
@interface ThirdViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIImageView *imgview2;
@property (strong,nonatomic) UIImage *image2;
@end
这是第三台遥控器-
#import <UIKit/UIKit.h>
@interface InfoViewController : UIViewController
@property(strong,nonatomic) UIImagePickerController *imagepicker;
@property(strong,nonatomic) UIImage *image1;
@end
#import <UIKit/UIKit.h>
@interface ThirdViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIImageView *imgview2;
@property (strong,nonatomic) UIImage *image2;
@end
为什么我拿不到?在这里
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSData *data=UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"], 1);
image1=[[UIImage alloc]initWithData:data];
//[imgview1 setImage:image1];
[imagepicker dismissViewControllerAnimated:YES completion:nil];
[self performSegueWithIdentifier:@"tocrop" sender:self];
}
您正在使用“ToCrop”执行segue,此处您正在检查toimage
if ([segue.identifier isEqualToString:@"toimage"])
我认为应该是如果([segue.identifier isEqualToString:@“tocrop”])
并使用self.image1=[[UIImage alloc]initWithData:data]代码>在这里
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSData *data=UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"], 1);
image1=[[UIImage alloc]initWithData:data];
//[imgview1 setImage:image1];
[imagepicker dismissViewControllerAnimated:YES completion:nil];
[self performSegueWithIdentifier:@"tocrop" sender:self];
}
您正在使用“ToCrop”执行segue,此处您正在检查toimage
if ([segue.identifier isEqualToString:@"toimage"])
我认为应该是如果([segue.identifier isEqualToString:@“tocrop”])
并使用self.image1=[[UIImage alloc]initWithData:data]代码>在这里
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSData *data=UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"], 1);
image1=[[UIImage alloc]initWithData:data];
//[imgview1 setImage:image1];
[imagepicker dismissViewControllerAnimated:YES completion:nil];
[self performSegueWithIdentifier:@"tocrop" sender:self];
}
您正在使用“ToCrop”执行segue,此处您正在检查toimage
if ([segue.identifier isEqualToString:@"toimage"])
我认为应该是如果([segue.identifier isEqualToString:@“tocrop”])
并使用self.image1=[[UIImage alloc]initWithData:data]代码>在这里
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSData *data=UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"], 1);
image1=[[UIImage alloc]initWithData:data];
//[imgview1 setImage:image1];
[imagepicker dismissViewControllerAnimated:YES completion:nil];
[self performSegueWithIdentifier:@"tocrop" sender:self];
}
您正在使用“ToCrop”执行segue,此处您正在检查toimage
if ([segue.identifier isEqualToString:@"toimage"])
我认为应该是如果([segue.identifier isEqualToString:@“tocrop”])
并使用self.image1=[[UIImage alloc]initWithData:data]代码>1。确保image1在initWithData之后不是nil
2.检查ViewDidLoad是否在destViewController.image2=image1之前执行(有时会执行)1。确保image1在initWithData之后不为零
2.检查ViewDidLoad是否在destViewController.image2=image1之前执行(有时会执行)1。确保image1在initWithData之后不为零
2.检查ViewDidLoad是否在destViewController.image2=image1之前执行(有时会执行)1。确保image1在initWithData之后不为零
2.检查viewdiload是否在destViewController.image2=image1之前执行(有时会执行)我的朋友,您的segue标识符不相同,prepare for segue中的If语句中的代码没有执行
试着这样做:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSData *data=UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"], 1);
image1=[[UIImage alloc]initWithData:data];
//[imgview1 setImage:image1];
[imagepicker dismissViewControllerAnimated:YES completion:nil];
[self performSegueWithIdentifier:@"tocrop" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"tocrop"]) {
ThirdViewController *destViewController = segue.destinationViewController;
destViewController.image2 =image1;}
}
干杯我的朋友,你的segue标识符不一样,prepare for segue中的if语句中的代码没有执行
试着这样做:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSData *data=UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"], 1);
image1=[[UIImage alloc]initWithData:data];
//[imgview1 setImage:image1];
[imagepicker dismissViewControllerAnimated:YES completion:nil];
[self performSegueWithIdentifier:@"tocrop" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"tocrop"]) {
ThirdViewController *destViewController = segue.destinationViewController;
destViewController.image2 =image1;}
}
干杯我的朋友,你的segue标识符不一样,prepare for segue中的if语句中的代码没有执行
试着这样做:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSData *data=UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"], 1);
image1=[[UIImage alloc]initWithData:data];
//[imgview1 setImage:image1];
[imagepicker dismissViewControllerAnimated:YES completion:nil];
[self performSegueWithIdentifier:@"tocrop" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"tocrop"]) {
ThirdViewController *destViewController = segue.destinationViewController;
destViewController.image2 =image1;}
}
干杯我的朋友,你的segue标识符不一样,prepare for segue中的if语句中的代码没有执行
试着这样做:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
NSData *data=UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"], 1);
image1=[[UIImage alloc]initWithData:data];
//[imgview1 setImage:image1];
[imagepicker dismissViewControllerAnimated:YES completion:nil];
[self performSegueWithIdentifier:@"tocrop" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"tocrop"]) {
ThirdViewController *destViewController = segue.destinationViewController;
destViewController.image2 =image1;}
}
干杯当您按下第二个控制器时,在从图像选择器选择图像后按下当您按下第二个控制器时,在从图像选择器选择图像后按下当您按下第二个控制器时,在从图像选取器中选择图像后按下当您按下第二个控制器时,在从图像选取器中选择图像后按下!!我是盲人--…谢谢你…不需要自我…我已经合成了DOMG!!我是盲人--…谢谢你…不需要自我…我已经合成了DOMG!!我是盲人--…谢谢你…不需要自我…我已经合成了DOMG!!我是瞎子--…谢谢你…不需要自我…我已经合成了