需要帮助防止UIImagePickerController在IOS13中旋转我的仅肖像UIView

时间:2019-11-08 08:57:51

标签: ios objective-c uiview uiviewcontroller

我有一个应用程序,正在制作UIView来拍摄和上传图像。我的应用仅是纵向应用,已经使用了多年,并在info.plist中配置了“ 支持的界面方向”。

我的问题是这个,它只发生在IOS 13上的iPhone 11上,而不是运行iOS12的iphone7上。

  1. 我的视图像往常一样以纵向显示。
  2. 我有一个按钮可以打开UIPickerViewController,如下所示:

    UIImagePickerController *picker = [[[UIImagePickerController alloc] init] autorelease];
    
    picker.delegate = self;
    
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    
    [self presentViewController:picker animated:true completion:nil];
    

如果我然后将相机转到风景,然后拍照或按“取消”,则以前是人像的UIView现在是风景!显然看起来很奇怪。

我将其竖起肖像后,就牢固地弹回原位。

再次,它似乎只发生在IOS13上,但是我不知道如何解决。

我尝试在UIView中覆盖 shouldAutorotateToInterfaceOrientation ,但没有帮助。

有关相机旋转后的外观截图,请参见下文。

有人有什么想法吗?指针非常感激。

After

2 个答案:

答案 0 :(得分:0)

自定义一个Viewcontroller继承了UIImagePickerController,并覆盖shouldAutorotate

答案 1 :(得分:0)

尝试使用此类:

class CustomUIImagePickerController: UIImagePickerController {

    override var shouldAutorotate: Bool {
        return false
    }

    override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return .portrait
    }
}

相关问题