メッセージング アプリ (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
ので、[戻る] ボタンをタップすると、カメラ/カメラ ロール ビューに戻ります。