在UIImagePickercontroller之后禁用了shouldAutorotateToInterfaceOrientation

时间:2012-11-27 08:54:16

标签: ios uinavigationcontroller orientation uiimagepickercontroller

目前我在iOS 5上遇到了关于shouldAutorotateToInterfaceOrientation的特殊问题。简单来说,我的整个项目应该只处理Portrait,除了应该处理UIInterfaceOrientationMaskAllButUpsideDown的图像查看器。

基本上,我将此代码放在我的所有viewControllers中:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation*)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

然后,我有一个名为PageViewController的ViewController。那里有一个按钮可以调用UIImapgePickercontroller。一旦图像被选中,我就会解除ViewController(imagePicker),所以我回到了PageViewController,然后我推进了ImageViewController。

给出了:

                3

PageViewController - > ImageViewController

   1 |   A  2
     V   |

谢谢你的帮助。

ImagePickerController

1 个答案:

答案 0 :(得分:1)

发现答案已放在其他地方。 在我的PageViewController中,我使用的是UIPageViewController。因此,当我拍照时,我会翻页并使用setViewControllers:direction:animated:completion将图片添加到其他页面。但是,我在调用setViewControllers:direction:animated:completion之后立即呈现了ImageViewController而没有使用完成块。所以我只是在完成块中移动了presentViewController:animated:completion:,它运行得很好。

这里的例子:

[self.pageController setViewControllers:controllersArray direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:^(BOOL finished) {
   if (finished)
      [self presentViewController:imageController animated:NO completion:nil];
}

希望这会帮助别人。