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