使用 Photolibrary 将 shouldAutorotate 设置为 false
Posted
技术标签:
【中文标题】使用 Photolibrary 将 shouldAutorotate 设置为 false【英文标题】:Set shouldAutorotate to false with Photolibrary 【发布时间】:2014-08-01 23:36:55 【问题描述】:如果我添加一个可以从iPad
访问我的照片库的弹出框,系统总是会崩溃并显示以下消息:
由于未捕获的异常“UIApplicationInvalidInterfaceOrientation”而终止应用程序,原因:“支持的方向与应用程序没有共同的方向,并且 [PUUIAlbumListViewController shouldAutorotate] 返回 YES”
但我已经在我的 Projekt 信息中进行了设置,只是为了支持横向模式。
所以我添加了以下功能
override func shouldAutorotate() -> Bool
return false
可是我不知道怎么用?如果我也在我的应用程序上启用UIInterfaceOrientationPortrait
,它工作正常。但我不想支持UIInterfaceOrientationPortrait
。
我会这样称呼我的弹出框:
var popover: UIPopoverController = UIPopoverController(contentViewController: ImagePickerController)
popover.presentPopoverFromBarButtonItem(addImageButton,
permittedArrowDirections: UIPopoverArrowDirection.Any,
animated: true)
任何帮助将不胜感激
【问题讨论】:
【参考方案1】:你别无选择。事实上你已经解决了这个问题。正如您已经说过的,解决方案是在您的应用程序中启用纵向。您不必在任何其他视图控制器中使用它,但您必须将它包含在应用程序允许的方向中,因为您尝试显示的这个视图控制器需要它。如果视图控制器要求和应用允许的交集为空,应用将崩溃(如您所见)。
【讨论】:
所以你的意思是我只是启用它,但我怎样才能为我的应用程序强制横向模式? 这对于 ios8/Swift 仍然是最新的吗? ***.com/questions/12520030/… "但是我如何才能为我的应用程序强制使用横向模式" 通过让属于您的每个视图控制器只允许横向,并确保横向在 Info.plist 列表中排在首位。但是 this 视图控制器,您遇到问题的那个,将纵向显示。 感谢您的帮助! 我的书解释了 iOS 应用定向机制是如何工作的:apeth.com/iOSBook/ch19.html#_rotation【参考方案2】:在稍高一点的层面上,问题在于您的应用仅支持横向,而 UIImagePickerController
要求您的应用支持纵向(但没有任何视图控制器,这没有任何意义,但无论如何...... )
所以另一种处理这个问题的方法是寻找一个替代UIImagePickerController
的替代方法。这是一个运作良好的。虽然代码几年没有更新,但它与 ARC 兼容。
https://github.com/B-Sides/ELCImagePickerController
它非常棒,可以帮助您避免很多疯狂,特别是如果您不想(或不能)在您的应用中支持纵向模式。
【讨论】:
以上是关于使用 Photolibrary 将 shouldAutorotate 设置为 false的主要内容,如果未能解决你的问题,请参考以下文章
如何将 NSData 文件作为视频写入 Photolibrary/SavedPhotosAlbum?
使用 Swift 从 iOS 中的 PhotoLibrary 中选择视频
将 UIView 保存到 iPad PhotoLibrary
ruby Rails Rspec模型使用rspec-rails,shoulda-matcher,shoulda-callbacks和factory_girl_rails测试骨架和备忘单。差不多
ruby Rails Rspec模型使用rspec-rails,shoulda-matcher,shoulda-callbacks和factory_girl_rails测试骨架和备忘单。差不多
ruby Rails Rspec模型使用rspec-rails,shoulda-matcher,shoulda-callbacks和factory_girl_rails测试骨架和备忘单。差不多