天下武功,唯快不破!
本文主要介绍利用Storyboard快速构建简单的三个item的Tabbar构建
在Main.Storyboard中拖入一个TabbarController,默认会有两个子控制器,需要再添加一个ViewController作为它的子控制器。方法也很简单,只需要在Tabbar右键拖动指向目标Vc,然后在弹出框中选择relationship segue 中选择viewcontrollers 即可。最后给拖入一个navigationController指向TabbarController,并将其设置为入口。
在图中1处选择item,然后在2处填上已经添加好的item的默认和选中的图片,就会在3处看到效果,这样将三个item设置好之后就可以再模拟器上运行。
可以看到Tabbar的图片和文字并非我们所设置的样式,有经验的童鞋肯定可以看出来是因为iOS图片默认渲染,于是,我们简单的自定义一个TabbarVc。
```
override func viewDidAppear(_ animated: Bool) {
//设置item 的文字选中和非选中颜色
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.gray], for: UIControlState())
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.green], for: UIControlState.selected)
//取消item 图片选中和非选中的默认渲染模式
for item in self.tabBar.items! {
item.image = item.image?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)
item.selectedImage = item.selectedImage?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)
}
}
```
本来是在viewdidload方法中加入上述方法,但是当引用Storyboard Reference的时候,图片依然处于被渲染状态,这个可能跟Storyboard Reference启动机制有关
在viewDidAppear中添加上述方法就基本成功构建了Navi+Tabbar的系统框架,接下来介绍Storyboard Reference。
Storyboard Reference的使用也比较简单,只需要选中所要单独放在另一个Storyboard里面的Vc,然后在xcode导航栏里面的Editor+Refector to Storyboard ,然后填写新添加Storyboard名字,选择保存位置,Save即可
如上图所示,将三大板块的内容分成三个Storyboard去开发,这样就可以有效的解决多人合作代码冲突的问题。唯一需要注意的是Storyboard Reference 是iOS9.0之后的新特性。说了这么多,希望能够对大家有用