У меня есть игра, в которой используется библиотека фотографий. Вы выбираете фотографию из библиотеки, а затем переходите к следующему экрану, и фотография есть. Вы играете в игру, а затем, когда закончите, у вас есть возможность снова перезапустить игру. У меня все работает до этого момента. Проблема, с которой я столкнулся сейчас, - это когда игра перезапускается, фотография не загружается. Я искал все решения, но я ничего не могу найти, чтобы помочь мне.Загрузите UIImage после перезагрузки игры
Так что в основном мне нужен способ для игры, чтобы сохранить фотографию, чтобы пользователь мог продолжить играть с этой фотографией после того, как они нажмут кнопку re start. Есть ли у кого-нибудь идеи, как я могу это достичь?
Примечание: фото может быть перезаписано, если пользователь решит выбрать другую фотографию, если новая фотография будет сохранена.
Спасибо за ваше время
EDIT
Это в моем MenuViewController
-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
self.myImage = [info objectForKey:UIImagePickerControllerEditedImage];
[self dismissViewControllerAnimated:YES completion:nil];
[self performSegueWithIdentifier:@"game" sender:self];
[self saveImage];
}
-(void) saveImage {
NSData *pngData = UIImagePNGRepresentation(myImage);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"image.png"]; //Add the file name
[pngData writeToFile:filePath atomically:YES]; //Write the file
}
Тогда в моих ViewController (где изображение нагрузок для игры
- (void)viewDidLoad
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"image.png"];
NSData *pngData = [NSData dataWithContentsOfFile:filePath];
UIImage *image = [UIImage imageWithData:pngData];
[copter setImage:image];
}
А на моей кнопке перезагрузки
- (IBAction)refreshTheGame {
UIStoryboard *storyboard = self.storyboard;
ViewController *svc = [storyboard instantiateViewControllerWithIdentifier:@"GML"];
svc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:svc animated:YES];
[self loadSavedImage];
}
-(void) loadSavedImage {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"image.png"];
NSData *pngData = [NSData dataWithContentsOfFile:filePath];
UIImage *image = [UIImage imageWithData:pngData];
[copter setImage:image];
}
Некоторый код пожалуйста !! Мы не можем догадаться, почему ваш код не работает! – Merlevede