Автоматически отображать UIImagePickerController при загрузке приложения - PullRequest
0 голосов
/ 13 марта 2012

В настоящее время мое приложение загружает UIImagePickerController при нажатии кнопки. Я хотел бы избавиться от кнопки и загрузить ее автоматически при загрузке представления, а затем закрыть приложение после выбора изображения.

Это метод, который я использовал при нажатии кнопки.

-(BOOL)startMediaBrowserFromViewController:(UIViewController *)controller usingDelegate:(id<UIImagePickerControllerDelegate,UINavigationControllerDelegate>)delegate
{
if(([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum] == NO)
   || (delegate == nil)
   || (controller == nil))
    return NO;
UIImagePickerController *mediaUI = [[UIImagePickerController alloc] init];
mediaUI.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeSavedPhotosAlbum];
mediaUI.allowsEditing = YES;
mediaUI.delegate = delegate;

[controller presentModalViewController:mediaUI animated: YES];
return YES;
}

Я подумал, что мог бы просто вызвать этот метод в методе loadView. Я попробовал три способа. Во-первых, очевидный.

[self startMediaBrowserFromViewController:self usingDelegate:self]

Это не сработало, но все равно вернуло ДА, что я нашел странным.

Далее я вызвал метод, который используется при нажатии кнопки.

[self btnShowClicked:nil]

Там тоже не повезло. Наконец, я попробовал тот, который, по моему мнению, должен был работать, поскольку он будет имитировать касание кнопки (если я правильно понимаю)

[self.btnShow sendActionsForControlEvents:UIControlEventTouchUpInside];

Все еще не повезло, и у меня закончились идеи.

Кто-нибудь знает способ сделать это? Я не думаю, что это должно быть так сложно.

1 Ответ

1 голос
/ 13 марта 2012

Добавьте ваш код (любой из трех методов, которые вы пробовали - первый выглядит хорошо) в ваш метод viewDidAppear вместо loadView. Обязательно сначала позвоните [super viewDidAppear].

Проблема заключается в том, что [controller presentModalViewController:mediaUI animated: YES]; вызывается , после все настроено правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...