小碼哥-玩轉【鬥魚直播APP】系列之框架搭建

搭建效果展示

框架搭建分析

  • 首先最底部是一個UITabbar,因此我們可以用一個UITabBarController作爲啓動控制器
  • 分別添加子控制器HomeVc、LiveVc、FollowVc、ProfileVc
  • 在storyboard中直接添加方式如下:
  • 設置四個TabbarItem的內容
  • 設置Tabbar全局顏色
  1. func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
  2. // 設置Tabbar全局顏色
  3. UITabBar.appearance().tintColor = UIColor.orangeColor()
  4. return true
  5. }
  • 運行效果如下:

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中
    • 代碼如下:
  1. class MainViewController: UITabBarController {
  2. override func viewDidLoad() {
  3. super.viewDidLoad()
  4. addChildVcWithStoryboardName("Home")
  5. addChildVcWithStoryboardName("Live")
  6. addChildVcWithStoryboardName("Follow")
  7. addChildVcWithStoryboardName("Profile")
  8. }
  9. }
  10. // MARK:- 添加子控制器
  11. extension MainViewController {
  12. private func addChildVcWithStoryboardName(name : String) {
  13. // 1.加載storyboard中的控制器
  14. let childVc = UIStoryboard(name: name, bundle: nil).instantiateInitialViewController()!
  15. // 2.將控制器添加到TabBarController中
  16. addChildViewController(childVc)
  17. }
  18. }
來源:http://bbs.520it.com/forum.php?mod=viewthread&tid=2230
發佈了0 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章