ios学习(UITabBarController)

来源:互联网 发布:数据建模师前景 编辑:程序博客网 时间:2024/05/19 12:18

标签

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

    FirstViewController *fv = [[FirstViewControlleralloc]init];

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

    nav.title =@"home";

    nav.tabBarItem.image = [[UIImageimageNamed:@"btn_dltbb@2x.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

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

    UIViewController *nav1 = [[SecondViewControlleralloc]init];

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

    UITabBarItem *ietm = [[UITabBarItemalloc]initWithTitle:@"secondPage"image:[UIImageimageNamed:@"btn_dltbb@2x.png"]selectedImage:[UIImageimageNamed:@"btn_dltbb@2x.png"]];

    nav1.tabBarItem = ietm;

3.第三种方法创建

    UINavigationController *nav2 = [[UINavigationControlleralloc]initWithRootViewController:[[ThirdViewControlleralloc]init]];

    UITabBarItem *ietm2 = [[UITabBarItemalloc]initWithTitle:@"thirdPage"image:[UIImageimageNamed:@"btn_dltbb@2x.png"]tag:100];

定义选择之后的图片

    ietm2.selectedImage = [UIImageimageNamed:@"btn_dltbb@2x.png"];

    nav2.tabBarItem = ietm2;

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

    UINavigationController *nav3 = [[UINavigationControlleralloc]initWithRootViewController:[[FourthViewControlleralloc]init]];

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

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

这里都是无法修改的

    nav3.tabBarItem.title =@"fourPage";

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

    UINavigationController *nav4 = [[UINavigationControlleralloc]initWithRootViewController:[[FifthViewControlleralloc]init]];

    UITabBarItem *ietm4 = [[UITabBarItemalloc]initWithTitle:@"fivePage"image:[UIImageimageNamed:@"btn_dltbb@2x.png"]tag:300];

    nav4.tabBarItem = ietm4;

这里是创建第六个

    UINavigationController *nav5 = [[UINavigationControlleralloc]initWithRootViewController:[[SixViewControlleralloc]init]];

    UITabBarItem *ietm5 = [[UITabBarItemalloc]initWithTitle:@"sixPage"image:[UIImageimageNamed:@"btn_dltbb@2x.png"]tag:400];

    

    nav5.tabBarItem = ietm5;

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

    

创建标签

    UITabBarController *tab = [[UITabBarControlleralloc]init];

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

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

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

    tab.delegate =self;


    self.window.rootViewController = tab;

    

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

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

设置tab选中的标签

    tab.selectedIndex = index;

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

    ietm.badgeValue =@"30";

设置系统的一个图表提示

    

    

    [[UIApplicationsharedApplication]setApplicationIconBadgeNumber:50];

    return YES;

    

    

    

    

    

}

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

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


使用沙盒存数据

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

    [[NSUserDefaultsstandardUserDefaults]synchronize];


}

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

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




}

自定义标签(具体代码)

1.隐藏系统的标签栏

 

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

  

2.创建一个新标签栏

  

4.创建所有标签

  

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

1 0
原创粉丝点击