Использование 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.

Другие вопросы по тегам