如何从Xcode iOS项目/故事板上安全删除UITabBar

时间:2019-03-04 17:47:46

标签: ios swift xcode uitabbar xcode-storyboard

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

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

enter image description here

在风景中成为这样:

enter image description here

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

我尝试了以下操作:

  • 我恢复了标签栏,问题消失了。此问题是由我如何删除选项卡栏而不是其他问题引起的。
  • 我搜索了有关此问题的其他文章。到目前为止,我只看过有关如何安装标签栏的文档,而不是如何安全地将其删除的文档。
  • 我尝试使用IBOutlet将选项卡栏连接到viewController,然后将tabBar.isHidden = true设置。这是一个很糟糕的技巧,但是还是没用。 UITabBar没有这样的成员。
  • 我尝试将tabBar viewController与Inspector中所需的初始viewController之间的设置进行比较,以了解可能有什么不同。除了最初的viewController复选框外,我没有看到可能导致此问题的设置。

问题:这是情节提要(或其他地方)中的设置问题,还是仅仅是一个错误?解决方案的下一个尝试是删除整个情节提要,然后重新创建它并将其连接回viewController。如果不需要的话,我想避免很多工作。

感谢您的帮助。如果找到解决方案,请确保将其发布。谢谢!

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

虽然这使我可以继续使用该应用程序,但是选项卡栏内容是我想要摆脱的不必要的代码,它们位于我的应用程序中。

1 个答案:

答案 0 :(得分:0)

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

此后,我尝试完全重建情节提要,viewController和所有组件,但问题并没有消失。我也尝试重载视图的方向方法无效。

但是,如果您在使用Google Maps sdk时遇到方向问题,可以将包含GMSMapView的视图控制器嵌入选项卡视图控制器中,然后隐藏选项卡栏(除非您需要选项卡栏)可以解决以下问题:我的项目。它不漂亮,但是可以用。