一、视图切换
二、UITabBarController分页控制器
注意事项:
具体步骤如下:
//a.初始化一个tabBar控制器 UITabBarController *tarbarVC = [[UITabBarController alloc] init]; //设置控制器为Window的根控制器 self.window.rootViewController = tarbarVC; //b.创建子控制器 UIViewController *c1 = [[UIViewController alloc] init]; c1.view.backgroundColor = [UIColor grayColor]; c1.view.backgroundColor=[UIColor greenColor]; c1.tabBarItem.title = @"消息"; c1.tabBarItem.image = [UIImage imageNamed:@"tab_recent_nor"]; c1.tabBarItem.badgeValue = @"123"; UIViewController *c2 = [[UIViewController alloc] init]; c2.view.backgroundColor = [UIColor brownColor]; c2.tabBarItem.title = @"联系人"; c2.tabBarItem.image = [UIImage imageNamed:@"tab_buddy_nor"]; UIViewController *c3 = [[UIViewController alloc] init]; c3.tabBarItem.title = @"动态"; c3.tabBarItem.image = [UIImage imageNamed:@"tab_qworld_nor"]; UIViewController *c4 = [[UIViewController alloc] init]; c4.tabBarItem.title = @"设置"; c4.tabBarItem.image = [UIImage imageNamed:@"tab_me_nor"]; //c.添加子控制器到ITabBarController中 tarbarVC.viewControllers = @[c1,c2,c3,c4]; //d.设置Window为主窗口并显示出来 [self.window makeKeyAndVisible];
UITabBarControllerDelegate代理
#pragma mark 该方法用于控制TabBarItem能不能选中 - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;
改变UITabBarController当前显示视图的方法
三、UINavigationController导航控制器
UINavigationItem属于MVC中的Model,封装了要显示在UINavigationBar上的数据:
title: 标题
titleView :标题视图
leftBarButtonItem :左按钮
rightBarButtonItem :右按钮
下一个子视图左侧返回按钮leftBarButtonItem的标题优先级:
UINavigationController常用的主要方法:
#pragma mark 压栈,把控制器压入导航控制器子控制器栈中 - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated; #pragma mark 出栈,把导航控制器子控制器栈的栈顶弹出 - (void)popViewControllerAnimated:(BOOL)animated; #pragma mark 多次出栈直到栈顶为指定控制器 - (void)popToViewController:(UIViewController *)viewController animated:(BOOL)animated; #pragma mark 多次出栈直到栈顶为根控制器 - (void)popToRootViewControllerAnimated:(BOOL)animated;
四、模态窗口
#pragma mark 从下方弹出指定的视图控制器,赋予模态,即当前视图关闭前,其他视图上的内容无法操作 - (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion; #pragma mark 关闭模态窗口,该方法在模态窗口中调用 - (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion;
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。