自定义菜单栏(UIBarViewController)

1、在AppDelegage.m 文件
  创建self.window 的跟视图
 
(1)初始化窗口
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
 
(2)初始化菜单栏
UIBarViewController *tabBar = [[BarViewController  alloc]init];
 
(3)创建窗口的跟视图
self.window.rootViewController = taBar;
 
(4)让窗口显示在第一个窗口上
[self . window  makeyKeyAndVisible]
 
************建立一个继承UIBarController的类
 
在类的实现文件(.m)
 
(创建一个方法)
- (void) creatChildController
{
     //初始化所有的子控制器
 HomeViewController *home = [[HomeController alloc]init];
 
——————给状态栏添加主题
    第一种方法 (设置主题)
  home.title = @“首页"
  第二种方法
   home.taBarItem.title = @“首页”;
home.navigationItem.title = @“首页”;
 
————————给状态栏添加背景图
home.tabBarItem.image = [UIImage imageName : @“imageName"];
     点击是,图片的变动
UIImage *selectImage = [UIImage image: @“imageNameSelect"];
home.tabBarItem.selectedImage = [selectImage imageWithRenderingModeAlwaysOriginal];
 
———————添加导航栏
UINavigationController  *navigationController = [UINavigationCroller alloc]initWithRootViewController:home];
 
—————————添加到菜单栏中
  [self addChildViewController : navigationController]
 
 
***********************(封装后的使用方法)
 
*************
 
 
 
 
 
 
———建立封装后使用的方法
// title  (表示的是:导航栏和菜单栏的主题)
//  imageName (表示菜单栏默认的图片),也就是初始化的图片
// selectedImageName (表示菜单栏在点击后,打印出的图片)
// setup 表示的是 函数名
// childVc 初始化的类名
 
 - (void)setup: (UIViewContriller *)childVc title:(NSString *)title imagName:(NSString *)imageName selectedImageName:(NSString *)selectedImageName
{
 
// 设置控制器的属性
        *** 设置状态栏的标题
     
//  设置状态栏的主题
childVc.title = title;
   childVc.tabBarItem.image = [UIImage imageNamed:imageName];

    UIImage *selectImage = [UIImage imageNamed:selectImageName];
    childVc.tabBarItem.selectedImage = [selectImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
   
   
   
    //    包装一个导航控制器
    UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:childVc];
    [self addChildViewController:nav];
 
 
 
 
 
原文地址:https://www.cnblogs.com/wukun16/p/4844752.html