您的位置:首页 > 移动开发 > Swift

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

2017-08-02 11:40 453 查看
let appDelegate:
AppDelegate = UIApplication.shared.delegate
as!
AppDelegate

自定义tabbarcontroller

extension BYMainTabBarController {

    fileprivate
func 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")

        

    }

    

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

    fileprivate
func 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)

   
4000
    self.addChildViewController(BaseNavController(rootViewController:
vc))

    }

}

class BYMainTabBarController:
UITabBarController {

    override
func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view.

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

    }

    override
func 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()

        return
true

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift