UITabBarController常见代理方法的使用

时间:2023-03-08 23:17:51
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);
}
}