【问题标题】:How to detect UIImagePickerController Preview state?如何检测 UIImagePickerController 预览状态?
【发布时间】:2013-01-29 11:48:50
【问题描述】:

我使用标准图像选择器制作一些相机照片。

当用户制作照片时,图像选择器会向他显示 Preview 屏幕,其中包含 2 个按钮“Retake”和“Use” em>。

如何检测预览屏幕现在处于活动状态或按下“重拍”按钮?有可能吗?有用的属性或事件是什么?就像当图像源是库时 is 属性 - 允许编辑,显示类似的屏幕。

UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;

【问题讨论】:

标签: ios objective-c camera uiimagepickercontroller


【解决方案1】:

事后有点,但也许有人仍在像我一样寻求这个答案。如果您想继续使用本机相机控件,可以检查 ImagePickerController 的子视图以确定是否显示后记录视图。

BOOL videoTaken = NO;

for (UIView *aView in self.imagePickerController.view.subviews[0].subviews[0].subviews[0].subviews)
{
    if ([aView isKindOfClass:NSClassFromString(@"PLTileContainerView")])
    {
        videoTaken = YES;
        break;
    }
}

“PLTileContainerView”是包含编辑滑块的子视图,可让您逐帧查看视频,因此如果存在,则表示您的视频已经录制。

【讨论】:

    【解决方案2】:

    使用:

    - (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
    {    
        [picker dismissModalViewControllerAnimated:NO];
        NSString *type = [info objectForKey:@"UIImagePickerControllerMediaType"];
        if ([type isEqualToString:@"public.movie"]) {
    
        } else {
            UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
        }
    }
    

    对于取消,您没有办法检测到它(除了子类化 UIImagePickerController,这可能是被禁止的,或者我不知道的其他方式),但可以肯定第二次取消是可以检测到的:

    - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {    
        [picker dismissModalViewControllerAnimated:YES];
    }
    

    【讨论】:

    • 第二次取消是图像选择器取消。当然是可以检测到的
    • 不要恨玩家,恨游戏。不需要讽刺:)
    • 抱歉,我不需要图像选择器事件。我需要知道用户是否制作了照片并且选择器是否处于预览状态。
    • 存在用户制作照片但未被拾取的状态。预览状态。可以检测到吗?因为我找不到任何解决方案
    • 我不知道有哪一个。尝试检查 UIImagePickerController 是否可以被子类化以通知其事件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    相关资源
    最近更新 更多