[绍棠_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
}
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
}
相关文章推荐
- AppDelegate单例模式、通过StoryBoardId加载ViewController Swift
- Swift中利用AppDelegate实现调用指定ViewController中的函数
- 在Appdelegate中获取当前的ViewController
- UITabBarController 笔记(一)AppDelegate中加UITabBarController 为 rootViewController
- UITabBarController 笔记(一)AppDelegate中加UITabBarController 为 rootViewController
- 【Swift】UITabBarViewController 自定义小红点
- 在AppDelegate自定义一个ViewController
- Swift - 集成app启动页广告,切换rootViewController,支持LaunchImage和LaunchScreen.storyboard,支持GIF图片显示,支持视图过渡动画
- 自定义view,AppDelegate等地方,控制器的跳转方法
- 用UIButton实现页面跳转(AppDelegate +NavigationViewController)
- iOS - Swift 自定义UITabBarController
- iOS8 自定义UITabBar (使用popToViewController导致的UITabBarButton重叠的问题)
- iOS8 自定义UITabBar (使用popToViewController导致的UITabBarButton重叠的问题)
- 如何在ViewController里调用appdelegate里的方法
- Swift3.0获取APP版本号,提示用户升级
- 快速搭建APP通用框架(自定义UITabbarController+UINavigationController)
- TabBar实现页面跳转(AppDelegate +NavigationViewController + TabBarViewController)
- swift 练习小demo 自定义UITabBarController navBar VC 简单框架
- swift 获取AppDelegate对象
- iOS 自定义UITabbarController中的item (swift)