Использование UIImagePickerController в игре
Я хочу сделать игру, в которой пользователь может коснуться изображения телевизора, а затем выбрать изображение из своей библиотеки фотографий.
Я успешно работал с UITextFields, добавляя их в свой EAGLView в качестве подпредставлений, но я не смог сделать то же самое с UIImagePickerController, который, кажется, единственный способ сделать то, что я хочу сделать.
Любая помощь приветствуется!
ОБНОВИТЬ
С предложением zpasternack мне удалось заставить меню появиться, добавив UIImagePickerControllerDelegate, UINavigationControllerDelegate и используя этот метод:
- (void) chooseImageFromLibrary {
if( ![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary] ) return;
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.delegate = self;
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePickerController.allowsEditing = YES;
[self addSubview:imagePickerController.view];
[imagePickerController viewWillAppear:YES];
[imagePickerController viewDidAppear:YES];
}
В начале я вызываю метод chooseImageFromLibrary. Он показывает интерфейс, но как только я нажимаю "Отмена" или выбираю приложение, останавливается.
Может кто-нибудь предложить мне:
1) Как заставить работать отмену и выбрать кнопки. 2) Как вызывать UIImagePickerController всякий раз, когда я хочу (снова вызывая ChooseImageFromLibrary??). 3) Когда пользователь нажимает "выбрать". Где я могу найти UIImage, который выбрал пользователь? Как мне выбрать его?
Благодарю.
2 ответа
Я никогда не использовал один поверх EAGLView, но UIImagePickerController обычно вызывается с presentModalViewController, например:
- (void) chooseImageFromLibrary {
if( ![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary] ) return;
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.delegate = self;
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePickerController.allowsEditing = YES;
[self presentModalViewController:imagePickerController animated:YES];
}
Nervermind, проблема решена. Мне просто нужно переписать некоторые функции, чтобы использовать UIImagePickerController.