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

    xiaoxiao2022-06-30  149

    搭建效果展示

    框架搭建分析

    首先最底部是一个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) } }

    转载请注明原文地址: https://ju.6miu.com/read-1126266.html

    最新回复(0)