我正在制作一个应用程序,允许用户打开图片库,以更改图像视图中的图片。每当我将方向锁定到横向模式时,为了避免粗略的限制和应用程序将我喜欢的所有内容从屏幕上推开,图片库都会尝试以纵向模式打开。为了解决这个问题,我创建了一个名为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发布于 2016-10-06 04:14:08
它绝对支持横向模式。把这个扩展放在某个地方。最好放在名为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]
https://stackoverflow.com/questions/39859734
复制相似问题