我正在使用一个带有5个UINavigationControllers的UITabBarController作为我的应用程序启动画面,这个故事板除了提供启动屏幕外没有任何作用。我想要做的是更改默认选择的选项卡。我目前卡在这里:。一旦实际的视图控制器加载,我会得到这个:。正如您所想象的那样,它的选择跳跃有点令人不适。由于我无法将自定义类附加到启动屏幕中的任何内容,因此我不知道如何以编程方式更改选项卡。当然,如果有一种方法可以使用不同颜色的图标来伪造它,那也可以,但系统会添加该颜色到所选图标。是否有一种方法可以在故事板启动屏幕上完成这个操作?谢谢。
虽然这个问题是多年前提出的,但我已经认真思考过它,并找到了一个解决方法,对于我的应用程序TimeFinder,我很满意。这里的其他答案给出了一些好的建议,但尝试构建TabBarController的复制品似乎具有挑战性和不可持续性,并且我没有使用Akshay Agrawal提到的User Defined Attributes hack获得太多成功 1。由于问题本质上是错误的项目在启动屏幕中被选为所选项,所以我决定通过将所选图像的色调颜色更改为浅灰色来完全隐藏所选项,以匹配其他未选中的选项卡栏目标志的颜色2。这使我能够将项目的顶级视图控制器(嵌入在navbarcontrollers中的视图控制器嵌入在tabbarcontroller中)复制并粘贴到Launch Screen storyboard中,删除所有无关紧要的连接和视图控制器,并最终拥有质量优良的启动屏幕,使应用程序看起来比实际加载速度快。这是我的启动画面故事板,供参考3。这是我的应用程序,它很快将更新此启动画面4。 App Store上的TimeFinder。
在你的视图中使用这段代码将会出现以下效果: yourTabBarController.selectedViewController=[yourTabBarController.viewControllers objectAtIndex:2]