您的位置:首页 > 产品设计 > UI/UE

UITabBarController

2015-09-16 20:35 239 查看
<p class="p1"><pre name="code" class="objc"><p class="p1"><span class="s1">UITabBarController </span><span class="s2">也是和</span><span class="s1">UINavigationController</span><span class="s2">一样</span><span class="s1"> </span><span class="s2">是多视图控制器</span><span class="s1">,</span><span class="s2">但是他和导航视图控制器不太一样</span><span class="s1">,</span><span class="s2">在对视图控制器管理上</span><span class="s1">,</span><span class="s2">导航视图控制器通过</span><span class="s1">push pop</span><span class="s2">进行栈的管理</span><span class="s1">,</span><span class="s2">界面之间是有层级关系的</span></p><p class="p1"><span class="s1"> </span><span class="s2">标签视图控制器</span><span class="s1"> </span><span class="s2">管理的视图控制器是并列存在的关系</span><span class="s1">,</span><span class="s2">我们通过点击不同的标签</span><span class="s1"> </span><span class="s2">进行不同界面的切换</span></p>



//将tabBarVC 指定为window根视图控制器
self.window.rootViewController = tabBarVC;

//设置代理
tabBarVC.delegate = self;

//配置tabBar
//tintColor
tabBarVC.tabBar.tintColor = [UIColor whiteColor];
//barTintColor
tabBarVC.tabBar.barTintColor = [UIColor blackColor];
//设置图片
[tabBarVC.tabBar setBackgroundImage:[UIImage imageNamed:@"320x49.png"]];

//给导航栏设置同一种风格
//只要是UINavigationBar这个类创建的所有对象都拥有同样的设置
[[UINavigationBar appearance] setBarTintColor:[UIColor whiteColor]];
//背景图片
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"320x49.png"] forBarMetrics:UIBarMetricsDefault];


代理方法

//设置controller对应的标签 是否可以点击
-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
return YES;
}

//选中标签时触发的方法
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{

//取消显示的提示
//viewController.tabBarItem.badgeValue = nil;
//点击时提示数量依次减
//    static int i = 99;
//    viewController.tabBarItem.badgeValue = [NSString stringWithFormat:@"%d+",--i];
}

//将要开始自定义试图控制器们
-(void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray *)viewControllers
{
NSLog(@"%@",viewControllers);
for (UINavigationController *naVC in viewControllers) {

NSLog(@"%@",naVC.viewControllers.firstObject);
}
}

//已经完成自定义视图控制器们
-(void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed
{
NSLog(@"%@",viewControllers);
for (UINavigationController *naVC in viewControllers) {

NSLog(@"%@",naVC.viewControllers.firstObject);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: