【问题标题】:Need help preventing UIImagePickerController rotating my portrait-only UIView in IOS13需要帮助防止 UIImagePickerController 在 IOS13 中旋转我的仅纵向 UIView
【发布时间】:2020-03-04 21:30:32
【问题描述】:

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

我的问题是这样的,它只发生在我的 iPhone 11 上的 IOS 13 上,而不发生在我运行 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,但没有帮助。

请参阅下面的屏幕截图,了解相机旋转后的外观。

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

【问题讨论】:

    标签: ios objective-c uiview uiviewcontroller


    【解决方案1】:

    自定义一个viewcontroller继承UIImagePickerController,并覆盖shouldAutorotate。

    【讨论】:

      【解决方案2】:

      尝试使用这个类:

      class CustomUIImagePickerController: UIImagePickerController {
      
          override var shouldAutorotate: Bool {
              return false
          }
      
          override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
              return .portrait
          }
      }
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-08
        • 2011-12-12
        • 2011-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-19
        • 1970-01-01
        相关资源
        最近更新 更多