UITabBarController常见代理方法的使用

//下面两个函数是成对出现的若第一个函数返回YES那么第二个方法自动触发执行
//是否允许选择不同的Item触发后续操作,YES是允许,NO是不允许
-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
//    NSLog(@"%s", __FUNCTION__);
    return YES;
}
//每次点击tabBarItem后触发这个方法
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    NSLog(@"selectedTitle:%@", viewController.title);
}
//下面的两个方法也是成对出现的,当点击编辑时触发第一个方法,当点击完成时触发的是第二个方法
//当点击moreNAvigationController的编辑按钮时,触发此方法
-(void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray *)viewControllers
{
    NSLog(@"%s", __FUNCTION__);
}
//当点击完成按钮的时候,触发此方法
//changed标记各个viewController的顺序是否改变
//viewController 返回最新的tabBarController中viewControllers
-(void)tabBarController:(UITabBarController *)tabBarController willEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed
{
    NSLog(@"%s", __FUNCTION__);
    if (changed){
        NSLog(@"changed!!");
    }else{
        NSLog(@"not changed");
    }
    for (UIViewController *vc in viewControllers){
        NSLog(@"vcTitle:%@", vc.title);
    }
}
原文地址:https://www.cnblogs.com/lidaojian/p/3675503.html