尝试打开照片库Swift时横向锁定不起作用
Posted
技术标签:
【中文标题】尝试打开照片库Swift时横向锁定不起作用【英文标题】:Landscape orientation lock not working when trying to open photo gallery Swift 【发布时间】:2016-10-04 18:54:23 【问题描述】:我正在制作一个应用程序,允许用户打开照片库以更改图像视图中的图片。每当我将方向锁定为横向模式时,为了避免严重的限制和应用程序将我喜欢的所有东西从屏幕上推开,照片库都会尝试以纵向模式打开。为了解决这个问题,我创建了一个名为 UIImagePickerController+SupportedOrientations 的新类并添加了
extension UIImagePickerController
public override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask
return .Landscape
override public func shouldAutorotate() -> Bool return false
希望能阻止这种情况。现在,只要我使用应用程序而不锁定它,它就会以横向模式打开,但是如果我锁定它,我会收到以下错误
terminating with uncaught exception of type NSException
【问题讨论】:
它会导致崩溃吗?还是只是调试器中的警告? 每当我尝试打开照片库@AKMSalehSultan 时,都会导致完全崩溃 好的,给一个小时。让我尽快回复您。 【参考方案1】:它绝对支持横向模式。将此扩展名放在某处。最好在一个名为 UIImagePickerController+SupportedOrientations.swift 的文件中
extension UIImagePickerController
public override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask
return .Landscape
这会使您的应用程序环境中的所有 UIImagePickerControllers。您也可以将其子类化并覆盖此方法以使子类仅具有横向功能:
class LandscapePickerController: UIImagePickerController
public override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask
return .Landscape
最后,为了支持横向方向,您可以返回
return [.Landscape]
【讨论】:
-1 此解决方案是提供的答案的副本:Use UIImagePickerController in Landscape mode in Swift 2.0 (***.com/questions/33058691/…)以上是关于尝试打开照片库Swift时横向锁定不起作用的主要内容,如果未能解决你的问题,请参考以下文章