我正在创建一个应用程序,允许用户打开照片库来更改图像视图中的图片。每当我将方向锁定为横向模式时,为了避免严重限制并且应用程序整体推动我喜欢屏幕上的所有内容,照片库会尝试以纵向模式打开。为了解决这个问题,我创建了一个名为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
答案 0 :(得分:-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]