【问题标题】:How to turn off landscape orientation in custom iOS App Extension?如何在自定义 iOS 应用扩展中关闭横向?
【发布时间】:2015-11-24 00:54:47
【问题描述】:

我有一个自定义的 iOS 应用扩展,当设备旋转时我无法关闭横向。

我需要应用扩展程序保持纵向模式。

应用扩展忽略 -preferredInterfaceOrientationForPresentation 并且显然没有从我的基础应用继承。

【问题讨论】:

  • 应用扩展受其宿主应用的支配。在根 UIView 之外,您没有真正的控制权。
  • 那么不可能吗?我看到将状态栏文本更改为白色也是不可能的。苹果干得好。
  • 我知道你在讽刺,所以我只想指出你的扩展是另一个应用程序中的访客。想想您收到应用程序用户的错误报告、抱怨状态栏无缘无故地变成白底白字(用户通常不会将他们的操作与观察到的错误相关联)或消失的感觉。跨度>
  • 我正在使用自定义共享扩展,因此它占据了整个屏幕。所以在我的深色背景颜色上几乎看不到状态栏文本(与我的应用程序的主题保持一致)。不过,我确实需要仅以纵向模式显示扩展程序。
  • 这无关紧要。您的代码仍在另一个应用程序中运行,如果您更改状态栏,没有什么会迫使您将其更改回来。此外,请记住,对于应用程序如何更改系统,Apple 始终是保守的。这自然延伸到限制扩展如何影响主机应用程序。也许有一天,Apple 会想出一个聪明的方法让扩展指定这些东西。

标签: ios objective-c orientation ios-app-extension


【解决方案1】:

为什么不通过app plist设置呢?

如果你喜欢扩展,也请设置shouldAutorotate返回NO。

【讨论】:

  • 其实没用,不知道为什么暂时没用。在 plist 中,我将支持界面方向设置为仅纵向(底部主页按钮),并且我还将 shouldAutorotate 设置为返回 NO。还是没有运气?这甚至可以在扩展中实现吗?
  • 我现在遇到了这个问题!你有没有找到任何解决方案@Chicken?
  • 不幸的是,我最终不得不同时支持这两个方向。不知道现在有没有办法,我只是放弃了:(
猜你喜欢
  • 2021-11-05
  • 2018-09-22
  • 1970-01-01
  • 1970-01-01
  • 2020-03-02
  • 2014-11-15
  • 2021-10-13
  • 1970-01-01
相关资源
最近更新 更多