【发布时间】: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