首页 > 解决方案 > 如何使用 TabViewController 解决 Google Maps sdk 方向问题

问题描述

我为 iPhone 启动了一个 iOS 项目,我认为可能需要一个标签栏。后来我决定不想要它(我想要额外的屏幕空间),所以我尝试删除标签栏并将我的主 ViewController 设置为情节提要中的初始 viewController。

这导致了一个奇怪的错误,设备的方向不再正确调整。例如,从纵向切换,如图所示:

在此处输入图像描述

在风景中变成这样:

在此处输入图像描述

如果您以横向启动应用程序,它看起来会很好,但是当您切换到纵向时会出现类似的结果。该错误体现在屏幕方向之间的转换中。

我尝试了以下方法:

问题:这是故事板(或其他地方)中的设置问题,还是只是一个错误?我的下一个解决方案尝试是删除整个故事板,然后重新创建它并将其连接回 viewController。如果没有必要,这是我想避免的大量工作。

任何帮助表示赞赏。如果我找到解决方案,我会确保发布它。谢谢!

更新:我找到了一种解决方法,方法是转到情节提要中的 UI 选项卡栏控制器,在选项卡栏控制器场景 -> 选项卡栏控制器中选择选项卡栏,然后检查检查器中的“隐藏”框。这具有在应用程序运行时摆脱标签栏的预期效果。就好像它不存在一样。

虽然这允许我继续使用该应用程序,但标签栏的内容是我想摆脱的应用程序中不必要的代码。

标签: iosswiftxcodeuitabbarxcode-storyboard

解决方案


自从我最初发表这篇文章以来,我通过实验发现,每次我以编程方式或在情节提要中将 Google 的 GMSMapView 添加到 viewController 时,都会遇到上述方向问题。我最初的问题不是我想的那样

从那以后,我尝试完全重建故事板、viewController 和所有内容,但问题并没有消失。我还尝试重载视图的方向方法无效。

但是,如果您在使用 Google Maps sdk 时遇到此方向问题,则将包含 GMSMapView 的视图控制器嵌入选项卡视图控制器中,然后隐藏选项卡栏(除非您想要选项卡栏)修复了我项目中的方向问题。它不漂亮,但它有效。


推荐阅读