【问题标题】:Swift: how to switch statusbar orientation in IOS 9+?Swift:如何在 IOS 9+ 中切换状态栏方向?
【发布时间】:2018-01-13 07:47:42
【问题描述】:

我正在构建一个基于手势的游戏。 IOS 的原生手势会在侧滑时引入通知中心和控制中心,因为它们会干扰游戏玩法,因此非常烦人。

在广泛搜索解决方案后,我开始相信没有办法在应用级别禁用/阻止控制中心或通知中心。

我发现的一个可能的解决方案是改变状态栏的方向。我的应用程序以横向运行。如果我可以将通知/控制中心从顶部和底部滑动切换到左右滑动,我认为这几乎可以解决我的问题。

但这似乎是可能的,但自 IOS 9 以来已弃用:https://developer.apple.com/documentation/uikit/uiapplication/1622939-setstatusbarorientation?language=objc

Apple 建议改用UITraitCollection。但是我不知道如何使用它来改变状态栏的方向。示例代码将不胜感激!

【问题讨论】:

    标签: ios swift orientation statusbar uitraitcollection


    【解决方案1】:

    从它指出的同一文档中:

    你不应该使用这个任意设置状态栏方向 方法

    现在更是如此,因为如果您确实尝试使用此方法,则会收到此警告(实际上并没有用):

    'setStatusBarOrientation(_:animated:)' 在 iOS 9.0 中已弃用: 状态栏方向的显式设置在 iOS 中受到更多限制 6.0 及更高版本

    这不是您应该尝试对您的应用执行的操作。隐藏状态栏或将其留在顶部。

    【讨论】:

    • 感谢您的回答,但您误解了我的意思。状态栏是隐藏的,但状态栏的方向决定了控件和通知控件在滑动时从哪一侧出现。我希望这些从左/紧而不是顶部/底部出现。
    • 不,我理解得很好,并意识到你想做什么,但你不能改变状态栏的方向,也不能改变通知的出现位置,因为它总是顶部/底部。
    • 或者取决于你如何看待它是一致的用户体验,这是 Apple 的观点。抱歉,您无法为所欲为,但这是我们为 iOS 支付的价格。
    猜你喜欢
    • 2015-12-16
    • 2016-01-03
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    • 2016-09-12
    • 2015-02-24
    • 1970-01-01
    • 2012-09-23
    相关资源
    最近更新 更多