繁体   English   中英

从UIImagePickerController摄像头视图中推送viewController

[英]Push a viewController from the UIImagePickerController camera view

我正在开发一个消息传递应用程序(类似于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将被推到相机/相机胶卷的顶部,所以当我点击后退按钮时我会回到相机/相机胶卷视图。

尝试显示导航栏,如下所示:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];

[picker setNavigationBarHidden:NO animated:YES];
[picker pushViewController:vc animated:YES];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM