本节学习内容:
1.分栏控件器的代理使用
2.分校控制器的协义方法
3.分栏控制器的高级使用
分栏控制器高级协义函数
willBeginCustomizingViewcontrollers:即将显示编辑方法
willEndCustomizingViewControllers:妈将结束编辑方法
didEndCustonmizingViewControllers:已经结束编辑方法
didSelectViewController:选中控制器切换方法
创建6个视图控器,分别为VCFirst,VCSecond,VCThird,VCFour,VCFive,VCSix都继承于UIViewController
【AppDelegate.h】
#import<UIKit/UIKit.h>
@interface
//添加UITabBarController代理 UITabBarControllerDelegate
AppDelegate:UIResponder<UIApplicationDelegate,UITabBarControllerDelegate>
@property(strong,nonatomic)UIWindow *window;
@end
【AppDelegate.m】
#import "AppDelegate.h"
#import"VCFirst.h"
#import"VCSecond.h"
#import"VCThird.h"
#import"VCFour.h"
#import"VCFive.h"
#import"VCSix.h"
@interface AppDelegate()
@end
@implementation AppDelegate
-(BOOL)application:(UIApplication *)application didFinshLaunchingWithOptions:(NSDictionary *)launchOptions{
self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
[self.window makeKeyAndVisible];
VCFirst* vc01=[[VCFirst alloc]init];
VCSecond* vc02=[[VCSecond alloc]init];
VCThird* vc03=[[VCThird alloc]init];
VCFour* vc04=[[VCFour alloc]init];
VCSix* vc06=[[VCSix alloc]init];
vc01.view.backgroundColor=[UIColor blueColor];
vc02.view.backgroundColor=[UIColor YellowColor];
vc03.view.backgroundColor=[UIColor purpleColor];
vc04.view.backgroundColor=[UIColor grayColor];
vc05.view.backgroundColor=[UIColor greenColor];
vc06.view.backgroundColor=[UIColor orangeColor];
vc01.title="视图1";
vc02.title="视图2";
vc03.title="视图3";
vc04.title="视图4";
vc05.title="视图5";
vc06.title="视图6";
//创建数据
NSArray* arrayVC=[NSArray arrayWithObjects:VC01,vc02,vc03,vc04,vc05,vc06,nil];
UITabBarController* tbc=[[UITabBarController alloc]init];
tbc.viewController=arrayVC;
tbc.tabBar.translucent=NO;
self.window.rootViewController=tbc;
//改变工具栏颜色
tbc.tabBar.barTintColor=[UIColor redColor];
//更改按钮风格颜色
tbc.tabBar.tintColor=[UIColor blackColor];
//添加代理
tbc.delegate=self;
return YES;
}
//开始编辑前调用
-(void)tabBarController:(UITabBarController *)tabBarController willBeginCustonizingViewControllers:(NSArray<_kindof UIViewController *> *)viewControllers{
NSLog(@"编辑器前");
}
-(void)tabBarController:(UITabBarController *)tabBarController willEndCustomizingViewControllers:(NSArray<_kindof UIViewController *>*)viewControllers changed:(BOOL)changed{
NSLog("即将结束前");
}
-(void)tabBarController:(UITabBarController *)tabBarController didEndCustonizingViewContollers:(NSArray<_kindof UIViewController *>>*)viewControllers changed:(BOOL)changed{
NSLog(@"VCS=%@,viewControllers");
if(changed==YES){
NSLog(@"顺序发生改变!");
}
NSLog(@"已经结束编辑!");
}
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
//选中的制器的索引与传入的索引是否一样
if(tabBarController.viewControllers[tabBarController.selectedInded]==viewController){
NSLog(@"OK");
}
NSLog(@"选 中控制器对象");
}
网友评论