My Storyboardには私のカスタムオーバーレイビューをデザインしたCameraViewControllerが含まれています。 UITabbarControllerの1つのタブとして使用する限り、cameraOverlayViewが表示されます。しかし、他のどのVCからでもこのView Controllerにセグメントすると、オーバーレイビューは数秒間しか表示されず、プレビューイメージだけが表示されます。UIImagePickerControllerのcameraOverlayViewがすぐに消えます
@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];
}
どのようなセグの種類やプレゼンテーションスタイルなども試しましたが、問題は同じです。
viewDidDisappear
にいくつかのログを挿入しましたが、実際にこの関数が呼び出されていることに気がついたので、オーバーレイが消えるのはその理由だと思います。
注意:私がTabbarcontrollerのタブを開いただけでは、すべて正常に機能します。この問題は、私がCameraVCに直面した場合にのみ発生します。
ありがとうございます!