支持 ios、swift 3 中特定视图控制器的横向和纵向设备方向

开发者

我正在开发一个 iOS 应用程序,其中所有的 ViewController 只支持纵向,除了一个 ViewController,它同时支持纵向和横向。我为那个 ViewController 尝试这个代码

 override var shouldAutorotate: Bool {
    return false
}

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    return .landscapeLeft
}

override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
    return .landscapeLeft
}

但这不起作用,有人可以帮忙吗?谢谢

穆内斯2020

在 AppDelegate 中添加此事件

func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {


    if let navigationController = UIApplication.topViewController() {

        if navigationController is YOURVIEWCONTROLLERNAME  {
            return UIInterfaceOrientationMask.all
        }

        else {
            return UIInterfaceOrientationMask.portrait
        }
    }

    return UIInterfaceOrientationMask.portrait
}

extension UIApplication {
class func topViewController(base: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? {
    if let nav = base as? UINavigationController {
        return topViewController(base: nav.visibleViewController)
    }
    if let tab = base as? UITabBarController {
        if let selected = tab.selectedViewController {
            return topViewController(base: selected)
        }
    }
    if let presented = base?.presentedViewController {
        return topViewController(base: presented)
    }
    return base
}

将 YOURVIEWCONTROLLERNAME 更改为您的视图控制器

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS 7-仅在一个视图控制器中限制横向方向

来自分类Dev

iOS / Swift:一个容器视图可容纳3个可能的视图控制器

来自分类Dev

等效的Alamofire库,支持Swift 3.0和iOS 8.0+

来自分类Dev

iOS/Swift 3:在非连续视图控制器之间向后传递数据

来自分类Dev

Swift-MPMoviePlayerViewController支持的设备方向

来自分类常见问题

如何仅在Swift中将一个视图控制器的方向锁定为纵向模式

来自分类Dev

支持iOS 8-Swift

来自分类Dev

支持iOS 8-Swift

来自分类Dev

iOS Swift 不受支持的 URL

来自分类Dev

Swift Update 支持的 ios 版本

来自分类Dev

AR工具包3:SupportsFrameSemantics()在支持的iOS设备上返回false

来自分类Dev

libGDX iOS支持和性能?

来自分类Dev

支持iOS 6和7

来自分类Dev

libGDX iOS支持和性能?

来自分类Dev

GPUImage3模拟器错误(“错误:MPS不支持iOS模拟器。”)

来自分类Dev

故事板和Swift中不同的纵向/横向视图

来自分类Dev

iOS7 / IOS8在视图控制器中仅允许纵向

来自分类Dev

iOS7 / IOS8在视图控制器中仅允许纵向

来自分类Dev

MPMoviePlayerController可以全屏旋转,而该应用程序仅在ios 7中支持纵向方向

来自分类Dev

在 IOS 上的 Swift 3 应用程序中触摸一行时调用的视图控制器方法的顺序是什么?

来自分类Dev

Swift 3在视图控制器之间传递数据

来自分类Dev

swift 3 - 未显示子类视图控制器

来自分类Dev

Swift(iOS)中具有占位符和复数支持的动态字符串

来自分类Dev

如何在iOS 8的模态视图控制器中强制纵向显示?

来自分类Dev

TableView在所有视图控制器中重复的代码-Swift 3

来自分类Dev

如何在 xib 视图控制器中添加图像 (swift3)

来自分类Dev

如何处理从我的swift应用程序摇动ios设备的支持?

来自分类Dev

Bootstrap 3旧版浏览器支持?

来自分类Dev

我想在 iOS Swift 的常规高度特征环境中运行特定的视图控制器

Related 相关文章

  1. 1

    iOS 7-仅在一个视图控制器中限制横向方向

  2. 2

    iOS / Swift:一个容器视图可容纳3个可能的视图控制器

  3. 3

    等效的Alamofire库,支持Swift 3.0和iOS 8.0+

  4. 4

    iOS/Swift 3:在非连续视图控制器之间向后传递数据

  5. 5

    Swift-MPMoviePlayerViewController支持的设备方向

  6. 6

    如何仅在Swift中将一个视图控制器的方向锁定为纵向模式

  7. 7

    支持iOS 8-Swift

  8. 8

    支持iOS 8-Swift

  9. 9

    iOS Swift 不受支持的 URL

  10. 10

    Swift Update 支持的 ios 版本

  11. 11

    AR工具包3:SupportsFrameSemantics()在支持的iOS设备上返回false

  12. 12

    libGDX iOS支持和性能?

  13. 13

    支持iOS 6和7

  14. 14

    libGDX iOS支持和性能?

  15. 15

    GPUImage3模拟器错误(“错误:MPS不支持iOS模拟器。”)

  16. 16

    故事板和Swift中不同的纵向/横向视图

  17. 17

    iOS7 / IOS8在视图控制器中仅允许纵向

  18. 18

    iOS7 / IOS8在视图控制器中仅允许纵向

  19. 19

    MPMoviePlayerController可以全屏旋转,而该应用程序仅在ios 7中支持纵向方向

  20. 20

    在 IOS 上的 Swift 3 应用程序中触摸一行时调用的视图控制器方法的顺序是什么?

  21. 21

    Swift 3在视图控制器之间传递数据

  22. 22

    swift 3 - 未显示子类视图控制器

  23. 23

    Swift(iOS)中具有占位符和复数支持的动态字符串

  24. 24

    如何在iOS 8的模态视图控制器中强制纵向显示?

  25. 25

    TableView在所有视图控制器中重复的代码-Swift 3

  26. 26

    如何在 xib 视图控制器中添加图像 (swift3)

  27. 27

    如何处理从我的swift应用程序摇动ios设备的支持?

  28. 28

    Bootstrap 3旧版浏览器支持?

  29. 29

    我想在 iOS Swift 的常规高度特征环境中运行特定的视图控制器

热门标签

归档