UITabBarController故事板启动屏幕 - 初始标签?

时间:2015-09-23 20:32:53

标签: ios uitabbarcontroller uistoryboard

我在我的应用程序中使用故事板作为我的启动屏幕,它包含一个带有5个UINavigationControllers的UITabBarController。故事板除了提供启动屏幕之外什么都不做。

我想要做的是更改默认选定的标签。我现在坚持这个:launch tab bar

一旦实际的视图控制器加载,我得到这个:

actual tab bar

正如你可以想象的那样,让选择跳起来有点刺耳。我不知道如何以编程方式更改选项卡,因为我无法将自定义类附加到启动屏幕中的任何内容。当然,如果我真的这样做,我真的不在乎,如果有用不同颜色的图标来伪造它的方法,那也很好,但是系统增加了这个色调。选中的图标。

有没有办法在故事板启动屏幕上执行此操作?感谢。

3 个答案:

答案 0 :(得分:5)

不要在LaunchScreen.storyboard中使用标签栏控制器。而是使用普通视图控制器并添加标签栏,然后根据需要添加标签栏项。这似乎是制作标签栏而没有选择任何索引的唯一方法。

答案 1 :(得分:1)

尽管这个问题是在几年前提出的,但我对此进行了很多争论,并找出了我对我的应用程序TimeFinder满意的解决方法。

这里的其他答案提出了一些很好的建议,但是尝试构建TabBarController的副本听起来很有挑战性且不可持续,而且我对Akshay Agrawal 1提到的User Defined Attributes hack并没有多大运气。

由于问题最终是在启动屏幕中显示了错误的项目,因此我决定通过将选定的图像色调颜色更改为浅灰色来完全隐藏选择,以匹配其他未选择的标签栏项目图标2

这使我可以将项目的顶级视图控制器(嵌入在tabbarcontroller中的navbarcontrollers中嵌入的视图控制器)复制并粘贴到“启动屏幕”情节提要中,删除所有无关紧要的连接和视图控制器,最后进行高质量的启动屏幕,使该应用看上去加载速度比其快。

这是我的启动屏幕故事板,仅供参考3,这是我的应用,即将在4上对此启动屏幕进行更新。

TimeFinder on the App Store

Launch Screen Storyboard Actual final view visible when app has finished loading Launch Screen with modified Tab Bar Image Tint Launch Screen with User-Defined Attribute hack

答案 2 :(得分:-1)

在你的视图中使用这段代码会出现方法。
yourTabBarController.selectedViewController = [yourTabBarController.viewControllers objectAtIndex:2]