iOS基础控件-UITabBarController - 3 之<UITabBarControllerDelegate>协议中的四个重要方法

27 篇文章 0 订阅
12 篇文章 0 订阅



让AppDelegate遵守UITabBarControllerDelegate 协议



XSAppDelegate.m 中的
- (BOOL)application:( UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions
方法中
创建 UITabBarController 的实例,并将实例的代理设置成AppDelegate
UITabBarController *tabController = [[ UITabBarController alloc] init];
// appdelegates 实例作为 tabController 代理
    tabController. delegate = self;



XSAppDelegate.m 中 实现协议中的代码
#pragma mark -UITabBarControllerDelegate

// 是否允许选择不同 item 触发后续操作, YES  允许, NO 不允许
- (
BOOL )tabBarController:( UITabBarController *)tabBarController shouldSelectViewController:( UIViewController *)viewController
{
   
NSLog ( @"hello" );
   
return YES ;
}

// 每次点击 tabBarItem 后触发这个方法 ( 只有点击标签栏中的五个按钮才会触发, MORE 里边的不会触发 )
- (
void )tabBarController:( UITabBarController *)tabBarController didSelectViewController:( UIViewController *)viewController
{
   
   
NSLog ( @"%@!" ,viewController. title );
}
// 当点击 moreNaviegationController 中的编辑按钮时触发的方法
- (
void )tabBarController:( UITabBarController *)tabBarController willBeginCustomizingViewControllers:( NSArray *)viewControllers
{
   
NSLog ( @"biaji" );
}

// 当点击完成按钮的时候,触发此方法
//changed :   标记 viewController 的顺序是否改变
//ViewControllers 返回最新的 tabBarController viewControllers
- (
void )tabBarController:( UITabBarController *)tabBarController willEndCustomizingViewControllers:( NSArray *)viewControllers changed:( BOOL )changed NS_AVAILABLE_IOS (3_0)
{
   
if (changed)
    {
       
NSLog ( @"change@" );
    }
   
else
    {
       
NSLog ( @"not change" );
    }
   
   
for ( UIViewController *vc in viewControllers)
    {
       
NSLog ( @"%@" ,vc. title );
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值