首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试打开图片库Swift时横向锁定不起作用

尝试打开图片库Swift时横向锁定不起作用
EN

Stack Overflow用户
提问于 2016-10-05 02:54:23
回答 1查看 308关注 0票数 0

我正在制作一个应用程序,允许用户打开图片库,以更改图像视图中的图片。每当我将方向锁定到横向模式时,为了避免粗略的限制和应用程序将我喜欢的所有内容从屏幕上推开,图片库都会尝试以纵向模式打开。为了解决这个问题,我创建了一个名为UIImagePickerController+SupportedOrientations的新类,并添加了

代码语言:javascript
运行
复制
extension UIImagePickerController
{
    public override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
        return .Landscape
    }
    override public func shouldAutorotate() -> Bool { return false }
}

希望能阻止这一切。现在,每当我使用应用程序而没有锁定它时,它就会在横向模式下打开,但如果我锁定它,我会得到以下错误

代码语言:javascript
运行
复制
terminating with uncaught exception of type NSException
EN

Stack Overflow用户

发布于 2016-10-06 04:14:08

它绝对支持横向模式。把这个扩展放在某个地方。最好放在名为UIImagePickerController+SupportedOrientations.swift的文件中

代码语言:javascript
运行
复制
extension UIImagePickerController
{
    public override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
        return .Landscape
    }
}

这使得所有的UIImagePickerControllers都出现在你的应用程序中。您还可以将其子类化并覆盖此方法,以仅使子类可横向扩展:

代码语言:javascript
运行
复制
class LandscapePickerController: UIImagePickerController
{
    public override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
        return .Landscape
    }
}

最后,为了支持横向方向,您可以返回

代码语言:javascript
运行
复制
return [.Landscape]

票数 -1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39859734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档