Я разрабатываю приложение для обмена сообщениями (, что-то вроде WhatsApp ), пользователи могут отправлять текстовые и графические сообщения друг другу.
когда пользователь хочет отправить изображение, он может выбрать его из фотопленки или сделать снимок с помощью камеры.
Вот как я представляю UIImagePickerController
для обоих случаев:
- (void)handleTakePhoto
{
UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
ipc.delegate = self;
ipc.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:ipc animated:YES];
[ipc release];
}
- (void)handleChooseFromLibrary
{
UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
ipc.delegate = self;
ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
NSString *desired = (NSString *)kUTTypeImage;
if ([[UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary] containsObject:desired]) {
ipc.mediaTypes = [NSArray arrayWithObject:desired];
}
[self presentModalViewController:ipc animated:YES];
[ipc release];
}
После того, как пользователь выберет/сделает снимок, я нажимаю SendImageViewController
, который показывает изображение в полноэкранном режиме и имеет кнопку для фактической отправки изображения.
Вот как я нажимаю:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
SendImageViewController *sivc = [[SendImageViewController alloc] initWithImage:image
delegate:self];
[picker pushViewController:sivc animated:YES];
[sivc release];
}
Когда я нажимаю SendImageViewController
из фотопленки, все работает отлично. Проблема в том, что я не могу нажать кнопку SendImageViewController
, когда изображение берется с камеры, потому что у камеры нет панели навигации. (Я пытался нажать ее, но мой вид SendImageViewController
не отображается хорошо)
Как я могу справиться с этим?
*Я не хочу закрывать средство выбора, а затем нажимать SendImageViewController
, я хочу, чтобы SendImageViewController
помещалось поверх камеры/прокрутки камеры, поэтому, когда я нажимаю кнопку «Назад», я возвращаюсь к камере. /Просмотр камеры.