【问题标题】:cameraOverlayView of UIImagePickerController disappears immediatelyUIImagePickerController 的 cameraOverlayView 立即消失
【发布时间】:2017-05-22 10:09:58
【问题描述】:

我的 Storyboard 包含一个 CameraViewController,我在其中设计了我的自定义叠加视图。 只要我将它用作我的 UITabbarController 的一个选项卡,cameraOverlayView 是可见的。但是,如果我从任何其他 VC 切换到此视图控制器,则覆盖视图仅在几分之一秒内可见,那么只有预览图像可见。

@implementation CameraViewController 

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    UIImagePickerController *picker = [UIImagePickerController new];
    if (![UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) return;
    picker.delegate = self;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    picker.showsCameraControls = NO;
    picker.allowsEditing = NO;
    picker.cameraOverlayView = self.view;

    [self presentViewController:picker animated:YES completion:nil];
}

我尝试过任何segue类型、演示样式等,问题依旧。

我在viewDidDisappear中插入了一些日志,注意到这个函数实际上被调用了,我猜这就是覆盖消失的原因。

请记住:如果我只是打开 Tabbarcontroller 的选项卡,一切都会正常工作!只有当我继续使用 CameraVC 时才会出现问题。

提前致谢!

【问题讨论】:

    标签: ios objective-c uiimagepickercontroller uistoryboard uistoryboardsegue


    【解决方案1】:

    解决方案是选择模态展示样式和“Over current context”,因为这样不会触发 viewDidDisappear 事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-26
      • 2019-05-02
      相关资源
      最近更新 更多