使用'发布故事板'。它非常简单,并包含一个默认的UITabBarController。我已经设置了标签栏&#t; tintColor'在发布故事板以及我的应用程序中显示为红色。我正在使用Xcode 7,iOS 9。
启动屏幕使用默认的蓝色iOS色调加载标签栏......!然后在加载后,当更换启动屏幕故事板时,色调颜色会变为红色。
你究竟想在故事板中设置标签栏的色彩颜色吗?
演示项目:http://s000.tinyupload.com/?file_id=73998115878034693063
答案 0 :(得分:4)
正确的方法是混淆Xcode。 Xcode不应该知道使用的启动故事板实际上是launch
故事板。这样您就可以设置一些自定义User Defined Runtime Attributes
。但是,您仍然无法运行某些自定义代码...
所以......为此,请按照以下步骤操作:
创建一个新的Xcode项目
将Main.storyboard
复制到桌面并将其重命名为CustomLaunchScreen.storyboard
。
将此CustomLaunchScreen.storyboard
添加到项目中。
打开Info.plist file
并将关键Launch screen interface file base name
值从LaunchScreen
更改为CustomLaunchScreen
。
打开CustomLaunchScreen.storyboard
。删除默认UIViewController
并将UITabBarController
设置为initial view controller
。
打开tabBar
的{{1}}媒体资源,然后导航至UITabBarController
添加User Defined Runtime Attributes
属性,将tintColor
设置为type
并设置一些自定义值。
您还可以观看完整的视频教程Here
答案 1 :(得分:1)
非常感谢@OIDor的解决方案,这是一个很棒的黑客。
然而,要清楚,你不需要做所有这些。您所要做的就是:
launchScreen="YES"
到launchScreen="NO"
,这使您可以执行此操作
下一部分...... tintColor
在故事板中。没有第一个,Xcode不允许这样做
步骤嘿,所有人都在工作。
答案 2 :(得分:0)
我想我已经弄明白了。
网上有很多关于Launch Storyboard如何运作的博客文章,但Apple的文章并不多。我在this blog post中发现,它讨论了启动故事板在运行时捕获的启动屏幕图像。深入我的模拟器目录显示他们实际上在那里:
我不确定原因,但设置UITabBar
的{{1}}的调用在启动故事板加载时没有及时触发,而是为其他值设置颜色,例如{ {1}}属性有效:
我只能这样说:不支持在启动故事板中的视图控制器上设置tintColor
barTintColor
。当启动故事板加载时,幕后会发生一些事情,导致无法正常工作。
TL; DR:您无法通过启动故事板执行此操作。有关将Xcode作为常规故事板处理您的启动故事板的技巧,请参阅OlDor's answer。
作为替代方案,您可以在正确加载标签栏的情况下拍摄应用的屏幕截图,进行调整,然后在启动视图控制器的tintColor
中使用它。
如果您只想添加标签栏而不添加任何当前选项卡,请在您的启动UITabBar
中添加UIImageView
并根据自己的喜好设置UITabBar
的样式:
此UIViewController
有两个UITabBarItem
可以设置样式,而不会向其视图控制器添加插座。