iOS 13方向有力改变

时间:2019-10-16 13:12:24

标签: ios uiimagepickercontroller uiinterfaceorientation ios13.1.2

我有一个应用程序,它在iOS 12及更低版本中可以正常运行。我的应用程序仅支持纵向模式。现在在iOS 13中,发生的情况是:如果我打开相机以捕获视频并旋转设备,相机就会旋转,但是当我点击“选择视频”时,我的应用程序也会显示横向旋转。有人知道吗?

更新

每当我们解散一个显示的视图控制器时,问题就会再次出现,但会随机出现。有人知道吗?

1 个答案:

答案 0 :(得分:0)

我通过在UIImagePickerController的委托回调中设置纵向方向来解决此问题。仅当我们仅使用视频选项直接打开相机时才出现该问题。如果我们使用“照片和视频”选项打开相机。效果很好。

- (void)setPortraitOrientation {
    [[UIDevice currentDevice] setValue:@(UIInterfaceOrientationPortrait) forKey:@"orientation"];
    [UINavigationController attemptRotationToDeviceOrientation];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    [self setPortraitOrientation];
    [picker dismissViewControllerAnimated:YES completion:NULL];
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    [self setPortraitOrientation];

    [picker dismissViewControllerAnimated:YES completion:^{

    }];
}