20160903 † 类比我的:

系统的,就是好。 解耦 性好。系统的 最稳定, 感觉。

老师的 真是 炫耀技巧, 造轮子。 效果还不好。 tabBar 之间 切换, 闪呀闪的。

老师造的轮子, 提供了 另一种 理解 的 思路, 理解系统 是 怎么实现的。

MainTabBarViewController



class MainTabBarViewController: UITabBarController {

    
    func createViewControllers(){
    
        
    
        
        let arrayNames = ["HomePageViewController","FindViewController","ChefViewController","FairViewController","ProfileViewController"]
        
        let names = ["首页","发现","","订单","我"]
        
        let imageNames = ["dock_home_unselected",
                          "dock_shop_unselected",
                          "custom_tabbar",
                          "dock_order_unselected",
                          "dock_self_unselected"]
        
        
        let selectedImageNames = ["dock_home_selected",
                                  "dock_shop_selected",
                                  "custom_tabbar",
                                  "dock_order_selected",
                                  "dock_self_selected"]
        
        
        var array = Array<UINavigationController>()
        
        
        for i in 0..<arrayNames.count{
        
            let controllerName = "deliciousOfCource." + arrayNames[i]
            
            let viewControllerClass = NSClassFromString(controllerName) as! UIViewController.Type
            
            let viewController = viewControllerClass.init()
            viewController.tabBarItem.title = names[i]
            viewController.tabBarItem.image = UIImage(named: imageNames[i])
            viewController.tabBarItem.selectedImage = UIImage(named: selectedImageNames[i])
            
            
            
            
            let navigationViewController = UINavigationController(rootViewController: viewController)
            
            
            array.append(navigationViewController)
            
            
            
            
        }
    
        self.viewControllers = array
    
        
    }
    
    
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        createViewControllers()
        
        self.tabBar.tintColor = UIColor.redColor()
    }


KTCHomeViewController



class KTCHomeViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }
    
    
    
    
    
    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        
        
        let appDelegation = UIApplication.sharedApplication().delegate as! AppDelegate
        let control = appDelegation.window?.rootViewController
        if control?.isKindOfClass(MainTabBarViewController.self) == true {
            let mainTabBarCtrl = control as! MainTabBarViewController
            mainTabBarCtrl.tabBar.hidden = false
        }
        
        
        
        
        
    }
    
    
    
    
    
        
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        
        
        let appDelegation = UIApplication.sharedApplication().delegate as! AppDelegate
        let control = appDelegation.window?.rootViewController
        if control?.isKindOfClass(MainTabBarViewController.self) == true {
            let mainTabBarCtrl = control as! MainTabBarViewController
            mainTabBarCtrl.tabBar.hidden = false
        }
        
        
        
        
        
        
    }
        

        
    
    
    
    
    
    override func viewWillDisappear(animated: Bool) {
        super.viewWillDisappear(animated)
        
        
        let appDelegation = UIApplication.sharedApplication().delegate as! AppDelegate
        let control = appDelegation.window?.rootViewController
        if control?.isKindOfClass(MainTabBarViewController.self) == true {
            let mainTabBarCtrl = control as! MainTabBarViewController
            mainTabBarCtrl.tabBar.hidden = true
        }
        
        
        
        
        
        
        
        
        
    }
    
    
    
    
    




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,989评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • 在娱乐圈除了美女如云和帅哥集群之外,高学历也成了某些明星的一大亮点。他们不但多才多艺,在学业上也是奋发图强,下面就...
    八卦吖阅读 696评论 1 0
  • 吹着微风,躺在蓝天白云之下,心里有想不清的思绪,感觉有很多事要做,又不知道应该做什么,总的为自己做点什么吧?...
    烟花雨下的诺言阅读 177评论 0 0
  • 也许,很多时候,我们都是漫无目的的奔跑者,或随风,或逆风,所谓的疾风知劲草,会否是因为疾风过后,藐视苍茫,打扫战场...
    A幸运点阅读 654评论 0 5