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

搭建效果展示



框架搭建分析

  • 首先最底部是一个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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值