玩转【斗鱼直播APP】系列之框架搭建
来源:互联网 发布:网络错误图片 编辑:程序博客网 时间:2024/04/27 14:33
搭建效果展示
框架搭建分析
- 首先最底部是一个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) } }
0 0
- 玩转【斗鱼直播APP】系列之框架搭建
- 小码哥-玩转【斗鱼直播APP】系列之框架搭建
- 玩转【斗鱼直播APP】系列之界面分析
- 玩转【斗鱼直播APP】系列之项目部署
- 玩转【斗鱼直播APP】系列之获取APP图片资源
- 小码哥-玩转【斗鱼直播APP】系列之获取APP图片资源
- 玩转【斗鱼直播APP】系列之项目基本设置
- 玩转【斗鱼直播APP】系列之首页导航栏设置
- 玩转【斗鱼直播APP】系列之首页布局分析实现
- 玩转【斗鱼直播APP】系列之布局推荐界面
- 玩转【斗鱼直播APP】系列之利用青花瓷抓取数据
- 玩转【斗鱼直播APP】系列之请求展示推荐数据
- 玩转【斗鱼直播APP】系列之实现无限轮播
- 玩转【斗鱼直播APP】系列之游戏推荐展示
- 玩转【斗鱼直播APP】系列之游戏界面实现
- 第二十一篇玩转【斗鱼直播APP】系列之加载数据动画
- 小码哥-玩转【斗鱼直播APP】系列之界面分析
- 小码哥-玩转【斗鱼直播APP】系列之项目部署
- php 调试相关
- 二级C语言复习(2)
- CentOS 7 systemd添加自定义系统服务
- 2012春节买票须知 FIREFOX 买票指南 3分钟完成支付
- CSS3和Canvas动画
- 玩转【斗鱼直播APP】系列之框架搭建
- Mysql出现Field * doesn't have a default value解决办法
- Raspberry Pi 使用
- 试试CSDN博客搬家功能
- 参赛者成绩
- Java中使用File类操作文件时的路径问题
- Codeforces Round #371 (Div. 2) E. Sonya and Problem Wihtout a Legend (DP/LIS变形)
- 表格内图片定位到页面一角,并随页面大小移动,始终居于此角
- 下载大字体地图还是看不清楚的解决方案