iOS开发 ----- UITablBarController_NSUserDefault

UITabBarController

区别


UIToolBarController 用于实现平级导航,比如QQ 微信下边的三个按钮 实现平级视图的切换
UINavigationController 用于实现具有层级关系的导航实现

使用方法

//在appdelegate中生命
/*
toolBarController
    navigationController1
        firstViewController
    navigationController2
        secendViewController
    navigationController3
        thirdViewController
    navigationController4
        forthViewController
*/

//个数一般不超过4个
//toolBarController是一个跟视图,包含了四个平级视图控制器
//每一个平级视图,采用了navigationViewController

FirstViewController * fVC = [[FirstViewController alloc]init];
UINavigationController * uNC1 = [[UINavigationController alloc]initWithRootViewController:fVC];


SecendViewController * sVC = [[SecendViewController alloc]init];
UINavigationController * uNC2 = [[UINavigationController alloc]initWithRootViewController:sVC];


ThirdViewController  *tVC = [[ThirdViewController alloc]init];
UINavigationController * uNC3 = [[UINavigationController alloc]initWithRootViewController:tVC];


FourthViewController * forVC = [[FourthViewController alloc]init]; 
UINavigationController * uNC4 = [[UINavigationController alloc]initWithRootViewController:forVC];



UITabBarController * uTBC = [[UITabBarController alloc]init];
uTBC.viewControllers = @[uNC1,uNC2,uNC3,uNC4];

//这样的话就可以实现下边有四个导航栏

相关属性

//设置每一个viewController对应的标题,图片,点击时的图片
tVC.tabBarItem = [[UITabBarItem alloc]initWithTitle:@"find" image:[UIImage imageNamed:@"home_tabbar_icon_find.png"] selectedImage:[UIImage imageNamed:@"home_tabbar_icon_find_sel.png"]];

//设置未读消息的个数
tVC.tabBarItem.badgeValue = [NSString stringWithFormat:@"%d",10];


//设置tabBar的样式
uTBC.tabBar.barStyle = UIBarStyleBlack;


//设置tabBar的背景图片
uTBC.tabBar.backgroundImage = [UIImage imageNamed:@"tab_bar.png"];


//设置默认展示那个页面
uTBC.selectedIndex = 1;


//拿到所有的viewController
NSArray * array = uTBC.viewControllers;

代理方法

//设置了代理之后,常用的有两种方法
uTBC.delegate = self;
//点击到这个button时要做的事
-(void)tabBarController:(nonnull UITabBarController *)tabBarController didSelectViewController:(nonnull UIViewController *)viewController


//该按钮是否可以点击
-(BOOL)tabBarController:(nonnull UITabBarController *)tabBarController shouldSelectViewController:(nonnull UIViewController *)viewController

//取得当前点击的元素的索引
NSInteger index = [tabBarController.viewControllers indexOfObject:viewController];

NSUserDefaults


//简单数据的持久化存储方式

//是一个单例对象,把数据存储到本地的plis文件中
[[NSUserDefaults standardUserDefaults] setValue:@0 forKey:@"last"];
[[NSUserDefaults standardUserDefaults] synchronize];

//通过objectForKey取出数据做相应的操作
[[[NSUserDefaults standardUserDefaults] objectForKey:@"last"] integerValue];

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章