Ios 场景中的图像选取器

Ios 场景中的图像选取器,ios,objective-c,iphone,xcode,Ios,Objective C,Iphone,Xcode,我正在制作一个游戏,我想从摄像机中选择游戏场景的背景图像 我有所有必要的代码从ViewController.m中的摄影机卷导入imageView,但它在游戏场景中不起作用 我试图在SKScene中导入您从ImagePicker中拾取的ImageView,然后将其设置为背景图像,但当我构建它时,应用程序崩溃 提前谢谢。我不太清楚您在这里想做什么,但是您想从相机卷中获取图片并将其作为背景吗 @interface ViewController : UIViewController <UINavi

我正在制作一个游戏,我想从摄像机中选择游戏场景的背景图像

我有所有必要的代码从ViewController.m中的摄影机卷导入imageView,但它在游戏场景中不起作用

我试图在SKScene中导入您从ImagePicker中拾取的ImageView,然后将其设置为背景图像,但当我构建它时,应用程序崩溃


提前谢谢。

我不太清楚您在这里想做什么,但是您想从相机卷中获取图片并将其作为背景吗

@interface ViewController : UIViewController <UINavigationControllerDelegate,UIImagePickerControllerDelegate> {

IBOutlet UIImageView *ImageView;
UIImagePickerController *picker;
UIImage *image;
}

//.m file

-(IBAction)TakePhoto:(id)sender {
picker = [[UIImagePickerController alloc] init];
picker.delegate = self; 
[picker setSourceType:UIImagePickerControllerSourceTypeCamera];
[self presentViewController:picker animated:YES completion:NULL];
}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

//Saving the image
NSString *imgName= @"imgname.png"; 
[[NSUserDefaults standardUserDefaults]setValue:imgName forKey:@"imageName"];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,     NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

[BackGround setImage:image]; //Setting the background to the image

if (image.size.width < image.size.height) {
BackGround.contentMode = UIViewContentModeScaleAspectFill; //If the image too big make it fit
BackGround.clipsToBounds = YES;

//Re-save the image
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:imgName];
UIImage *imageSave = image; // imageView is my image from camera
NSData *imageData = UIImagePNGRepresentation(imageSave);
[imageData writeToFile:savedImagePath atomically:NO];
}
[self dismissViewControllerAnimated:YES completion:NULL];
}

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[self dismissViewControllerAnimated:YES completion:NULL];
}



 //Collect the image, pass it between files/view controllers

NSString *imgName= [[NSUserDefaults standardUserDefaults]valueForKey:@"imageName"];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *filePath=[NSString stringWithFormat:@"%@/%@",documentsDir,imgName];
[BackGround setImage:[UIImage imageWithContentsOfFile:filePath]];
@界面ViewController:UIViewController{
IBUIImageView*ImageView;
UIImagePickerController*选择器;
UIImage*图像;
}
//.m文件
-(iAction)拍照:(id)发件人{
选择器=[[UIImagePickerController alloc]init];
picker.delegate=self;
[选取器设置资源类型:UIImagePickerControllerSourceTypeCamera];
[自我呈现视图控制器:选择器动画:是完成:空];
}
-(void)imagePickerController:(UIImagePickerController*)picker未使用信息完成PickingMediaWithInfo:(NSDictionary*)信息{
image=[info objectForKey:@“UIImagePickerControllerOriginalImage”];
//保存图像
NSString*imgName=@“imgName.png”;
[[NSUserDefaults standardUserDefaults]设置值:imgName forKey:@“imageName”];
NSArray*Path=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,是);
NSString*documentsDirectory=[paths objectAtIndex:0];
[背景设置图像:图像];//设置图像的背景
if(image.size.width
请尽量集中在一个特定的问题上。另外,尽量只包含相关代码