В настоящее время мое приложение загружает 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];
Все еще не повезло, и у меня закончились идеи.
Кто-нибудь знает способ сделать это? Я не думаю, что это должно быть так сложно.