0

我正在展示来自 UIPopOverController 的 UIButton 的相册和相机。iPad1当我在运行时呈现它时,两者都可以正常工作iOS 5.1

当我在iPad2运行时做同样的事情时iOS 6.0,相机工作正常,但相册崩溃,如下图所示。另请注意,该应用程序是横向应用程序。

在此处输入图像描述

我使用的代码是

 //imgPicker.contentSizeForViewInPopover = CGSizeMake(320, 500);
self.popOver = [[UIPopoverController alloc] initWithContentViewController:picker];
popOver.delegate = self;
[self.popOver presentPopoverFromRect:importFromPhotosBtn.frame
                              inView:importFromPhotosBtn
            permittedArrowDirections:UIPopoverArrowDirectionAny
                            animated:YES];

请有人指出我出了什么问题。我被这个打了半天多。非常感谢任何及时的帮助。

4

2 回答 2

1

UIImagePicker 支持纵向模式。您的应用程序仅支持导致问题的横向模式。

解决方案:

  1. 子类 UIImagePicker 类
  2. 在子类中实现 shouldAutorotate

     - (BOOL)shouldAutorotate
    {
       return NO;
    }
    
  3. 使用这个子类 UIImagePicker 类来创建选择器而不是 UIImagePicker

于 2012-11-30T11:44:40.467 回答
0

感谢@Midhum MP 的提示,问题实际上是我展示popOver 的框架。

popOver尺寸是,但我是从包含 (221, 360) 作为原点的矩形中呈现的320 x 500,所以尺寸搞砸了(500 + 360,大于横向(768)中的 iPad ht)。

但不知道为什么它在 iPad1(iOS 5.1)中运行,而不是在 iPad2(iOS 6)中运行!

所以,我只是改变了现在工作正常的呈现矩形(这样它就不会出现这样的混乱)。它解决了这个问题。

于 2012-11-30T12:03:05.723 回答