用Photolibrary设置应该为假

如果我添加一个popup窗口,可以从iPad访问我的照片库,系统总是会出现以下消息:

由于未捕获exception“UIApplicationInvalidInterfaceOrientation”而终止应用程序,原因:“支持的方向与应用程序没有共同的方向,[PUUIAlbumListViewController shouldAutorotate]返回YES'

但是我已经在我的Projekt信息中设置了支持横向模式。

所以我添加了以下function

 override func shouldAutorotate() -> Bool { return false } 

但我不知道如何使用它? 如果我在我的应用程序上启用UIInterfaceOrientationPortrait ,它也能正常工作。 但是我不想支持UIInterfaceOrientationPortrait

我会打电话给我的popover像这样:

 var popover: UIPopoverController = UIPopoverController(contentViewController: ImagePickerController) popover.presentPopoverFromBarButtonItem(addImageButton, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true) 

任何帮助将不胜感激

你没有select。 事实上,你已经解决了这个问题。 正如您已经说过,解决scheme是在您的应用程序中启用纵向。 您不必在任何其他视图控制器中使用它,但必须将其包含在应用程序允许的方向中,因为您试图显示的这个视图控制器需要它。 如果视图控制器需要的和应用程序允许的内容之间的交集为空,则应用程序将崩溃(如您所见)。

稍微高一点的问题是,你的应用程序只支持横向,而UIImagePickerController需要在你的应用程序支持肖像(但没有视图控制器,这是没有道理的,但无论如何…)

所以处理这个问题的另一种方法是寻找一个替代UIImagePickerController来做同样的事情。 这是一个很好的工作。 虽然这些代码在几年内还没有更新,但是它兼容ARC。

https://github.com/B-Sides/ELCImagePickerController

这非常棒,可以帮助你避免很多疯狂,特别是如果你不想(或不能)支持你的应用中的肖像模式。