[绍棠_Swift] Swift3.0中别的类获取APPDelegate及UITabbarViewController的自定义

来源:互联网 发布:印度航母 知乎 编辑:程序博客网 时间:2024/06/02 03:11

let appDelegate: AppDelegate = UIApplication.shared.delegateas! AppDelegate


自定义tabbarcontroller


extension BYMainTabBarController {

    fileprivatefunc setUpChildViewController() {

        let homeVC =BYHomeViewController()

        setUpNavRootViewControllers(vc: homeVC, title:"精选", image:"found@2x.png", selImage:"found_s@2x.png")

        

        let channelVC =BYChannelViewController()

        setUpNavRootViewControllers(vc: channelVC, title:"频道", image:"message@2x.png", selImage:"message_s@2x.png")

        

        let setVC =BYSettingViewController()

        setUpNavRootViewControllers(vc: setVC, title:"设置", image:"share@2x.png", selImage:"share_s@2x.png")

        

    }

    

    // 初始化一个到导航控制器的控制器

    fileprivatefunc setUpNavRootViewControllers(vc:UIViewController, title:String, image: String, selImage:String){

        vc.title = title

        vc.tabBarItem.image =UIImage(named: image)

        vc.tabBarItem.selectedImage =UIImage.mg_RenderModeOriginal(imageName: selImage)

        self.addChildViewController(BaseNavController(rootViewController: vc))

    }

}


class BYMainTabBarController: UITabBarController {


    overridefunc viewDidLoad() {

        super.viewDidLoad()


        // Do any additional setup after loading the view.

        setUpChildViewController()     // 初始化所有的子控制器

    }


    overridefunc didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }


}


APPDelegate的设置


    func application(_ application:UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey:Any]?) -> Bool {

        // Override point for customization after application launch.

        /**  !

         *1.声明Optional值变量

         *2.用在对Optional值操作中,用来判断是否能响应后面的操作

         */

        

        /**  ?

         *1.强制对Optional值进行拆包(unwrap)

         *2.声明Implicitly Unwrapped Optionals值,一般用于类中的属性

         */

        let bYTabBar =BYMainTabBarController()

        

        self.window!.rootViewController = bYTabBar;

        self.window!.rootViewController = loginVC

//        self.window!.rootViewController = nav1

        self.window?.makeKeyAndVisible()

        returntrue

    }



阅读全文
0 0