ios学习(UITabBarController)

标签

1.建立第一个视图,用第一种方式

    FirstViewController *fv = [[FirstViewController alloc]init];

    UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:fv];

    nav.title = @"home";

    nav.tabBarItem.image = [[UIImage imageNamed:@"[email protected]"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

2.建立第二个视图第二种方法

    UIViewController *nav1 = [[SecondViewController alloc]init];

三个参数分别是,文字标题,普通状态写的状态图片,点击之后的图片状态

    UITabBarItem *ietm = [[UITabBarItem alloc]initWithTitle:@"secondPage" image:[UIImage imageNamed:@"[email protected]"] selectedImage:[UIImage imageNamed:@"[email protected]"]];

    nav1.tabBarItem = ietm;

3.第三种方法创建

    UINavigationController *nav2 = [[UINavigationController alloc]initWithRootViewController:[[ThirdViewController alloc]init]];

    UITabBarItem *ietm2 = [[UITabBarItem alloc]initWithTitle:@"thirdPage" image:[UIImage imageNamed:@"[email protected]"] tag:100];

定义选择之后的图片

    ietm2.selectedImage = [UIImage imageNamed:@"[email protected]"];

    nav2.tabBarItem = ietm2;

4.第四种方法使用系统的样式创建,图片和文字都无法修改

    UINavigationController *nav3 = [[UINavigationController alloc]initWithRootViewController:[[FourthViewController alloc]init]];

使用系统的形式去创建这里是无法修改的

    nav3.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemDownloads  tag:200 ];

这里都是无法修改的

    nav3.tabBarItem.title = @"fourPage";

一共四种方法,我们去创建第五个

    UINavigationController *nav4 = [[UINavigationController alloc]initWithRootViewController:[[FifthViewController alloc]init]];

    UITabBarItem *ietm4 = [[UITabBarItem alloc]initWithTitle:@"fivePage" image:[UIImage imageNamed:@"[email protected]"] tag:300];

    nav4.tabBarItem = ietm4;

这里是创建第六个

    UINavigationController *nav5 = [[UINavigationController alloc]initWithRootViewController:[[SixViewController alloc]init]];

    UITabBarItem *ietm5 = [[UITabBarItem alloc]initWithTitle:@"sixPage" image:[UIImage imageNamed:@"[email protected]"] tag:400];

    

    nav5.tabBarItem = ietm5;

当我们创建的标签多余五个之后系统就会把最后一个默认为more放在另一个界面保存

    

创建标签

    UITabBarController *tab = [[UITabBarController alloc]init];

将视图加入标签,这里加入是以数组的形式

    tab.viewControllers = @[nav,nav1,nav2,nav3,nav4,nav5];

使用代理在点h里引入代理,会自动执行下面的代理方法

    tab.delegate = self;


    self.window.rootViewController = tab;

    

在程序启动后用户,选择某一个界面,则保存元状态这里使用的是沙盒存储,使用代理

    NSInteger index = [[[NSUserDefaults standardUserDefaults]valueForKey:@"selectedindex" ] integerValue];

设置tab选中的标签

    tab.selectedIndex = index;

设置标签上的一个灰标,用来提示用户

    ietm.badgeValue = @"30";

设置系统的一个图表提示

    

    

    [[UIApplication sharedApplication]setApplicationIconBadgeNumber:50];

    return YES;

    

    

    

    

    

}

5.选中某一个视图控制器的时候,调用该方法

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{


使用沙盒存数据

    [[NSUserDefaults standardUserDefaults]setValue:@(tabBarController.selectedIndex) forKey:@"selectedindex"];

    [[NSUserDefaults standardUserDefaults]synchronize];


}

6. 自定义视图控制器完成的时候调用

-(void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed{




}

自定义标签(具体代码)

1.隐藏系统的标签栏

 

3.创建所有的视图控制器

  

2.创建一个新标签栏

  

4.创建所有标签

  

5.标签和视图控制器进行关联

你可能感兴趣的:(ios学习(UITabBarController))