您的位置:首页 > 移动开发

玩转【斗鱼直播APP】系列之框架搭建

2016-09-14 16:42 537 查看

搭建效果展示



框架搭建分析

首先最底部是一个UITabbar,因此我们可以用一个UITabBarController作为启动控制器
分别添加子控制器HomeVc、LiveVc、FollowVc、ProfileVc
在storyboard中直接添加方式如下:



设置四个TabbarItem的内容



设置Tabbar全局颜色

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// 设置Tabbar全局颜色
UITabBar.appearance().tintColor = UIColor.orangeColor()
return true
}
运行效果如下:



Storyboard Reference

StoryBoard Reference是Xcode7,iOS9出现的新功能
目的是让我们可以更好的使用storyboard来开发项目
之前的开发中,如果使用一个storyboard开发,那么非常容易造成代码冲突
之前可以通过使用storyboard创建控制器的方式解决.
官方目前推出了StoryBoard Reference的方式

优点:
允许你从 segue 中引用其他 storyboard 中的 viewController
可以将不同模块放到不同Storyboard中
阅读性好
齐头并进, 加快开发效率
不容易出现SVN/GIT代码冲突错误

使用方式:
选中要单独抽离的控制器:Editor—> Refactor to Storyboard —> 生成新的storyboard



生成新的Storyboard



其它三个使用相同的方式
最终效果



不采用Storyboard Reference的实现方案

因为StoryBoard Reference是Xcode7,iOS9出现的新功能,所有如果依然需要适配iOS8则不能使用
那么我们可以通过代码,从storyboard中加载出来控制器,手动添加成为TabBarController的子控制器方式
方式如下:
创建MainViewController,并且将TabBarController的类设置成MainViewController
在ViewDidLoad方法中从storyboard加载Home、Live、Follow、Profile控制器,添加到MainVIewController中
代码如下:

class MainViewController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
addChildVcWithStoryboardName("Home")
addChildVcWithStoryboardName("Live")
addChildVcWithStoryboardName("Follow")
addChildVcWithStoryboardName("Profile")
}
}
// MARK:- 添加子控制器
extension MainViewController {
private func addChildVcWithStoryboardName(name : String) {
// 1.加载storyboard中的控制器
let childVc = UIStoryboard(name: name, bundle: nil).instantiateInitialViewController()!
// 2.将控制器添加到TabBarController中
addChildViewController(childVc)
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: