今天讲了导航控制器UINavigationController

和标签栏视图控制器UITabBarController

先来说一说导航视图控制器  UINavigationController

导航控制器维护着一个视图控制器栈,任何类型的视图控制器都可以放入栈中

UINavigationController分为三部分

从图中可以看出分别为导航按钮,用户自定义内容和最下边的工具按钮。

其实只有中间的部分显示的就是这个导航视图控制器栈中的栈顶的视图

下面是我根据文档写的一些UINavigationController的一些东西

一、遵守的协议UINavigationControllerDelegate

@property(nonatomic,assign)id<UINavigationControllerDelegate>delegate

创建之后都有个委托对象,可以通过委托对象调用自己

二、实例方法

1、initWithNavigationBarClass:toolbarClass:

使用自定义的工具栏来创建并初始化一个导航控制器

2、-(id)initWithRootViewController:(UIViewController  *)rootViewController

初始化导航视图控制器,并用rootViewController作为根视图控制器

3、- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

压栈,将一个视图控制器压入到栈顶

4、- (UIViewController*)popViewControllerAnimated:(BOOL)animated

从导航控制器栈中取出栈顶元素

5、- (NSArray*)popToViewController:(UIViewController*)viewControlleranimated:(BOOL)animated

取出从栈顶视图控制器到特定视图控制器viewController 之间的元素

6、- (NSArray*)popToRootViewControllerAnimated:(BOOL)animated

取出除了根视图控制器之外的所有元素

7、-(void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated

设置NavigationBar 按钮隐藏或显示

8、- (void)setToolbarHidden:(BOOL)hidden animated:

(BOOL)animated

与上一个相似,设置Toolbar隐藏或显示

9、- (void)setViewControllers:(NSArray*)viewControllersanimated:(BOOL)animated

用viewControllers取代当前被导航控制器控制的视图

以上就是UINavigationController的所有方法

三、所拥有的属性

topViewController  property

导航控制器栈的栈顶元素

visibleViewController  property

与当前可见视图相关联的导航控制器栈中的视图控制器

viewControllers  property

当前导航控制器所控制的所有视图控制器,它是一个数组

navigationBar  property

导航控制器中的导航栏(只读)

navigationBarHidden  property

它是一个BOOL值,用来决定navigationBar是否隐藏

delegate  property

导航控制器的委托对象

toolbar  property

与导航控制器相关联的用户自定义的工具栏

toolbarHidden  property

是一个标识,标识着工具栏是否处于隐藏状态

写给自己看,若有错误欢迎指正。 —— LC

最新文章

  1. 【noip 2016】 蚯蚓(50分)(earthworm)
  2. ACM 中常用的算法有哪些? 2014-08-21 21:15 40人阅读 评论(0) 收藏
  3. Spring中使用Hibernate
  4. ViewPager Indicator的使用方法
  5. MVC + LigerUI 做后台管理还真是清爽
  6. H3C交换配置PBR最佳实践
  7. 零积分下载,2014年辛星mysql教程秋季版第一本已经完工,期待您的支持
  8. ST-4
  9. Python 爬取美女图片,分目录多级存储
  10. 要求必须全部重复的数据sql--想了半天才写出来的
  11. LFYZ-OJ ID: 1009 阶乘和
  12. CCF-201803-3-URL映射(模拟)
  13. 通过expdp和impdp将Oracle11g数据导入到Oracle10g中
  14. JavaScript事件属性event.target
  15. jmeter5.0之源码导入 IntelliJ IDEA
  16. MySQL学习笔记-事务相关话题
  17. zTree的简单例子
  18. 〖Linux〗Ubuntu中使用KVM安装虚拟机
  19. JAVA-JSP内置对象之response对象实现页面跳转
  20. python 软件管理规范

热门文章

  1. myeclipse跟eclipse中使用github做版本控制工具
  2. 10个加速Table Views开发的Tips(转)
  3. MySQL 删除数据库
  4. 局部线性嵌入(LLE)原理总结
  5. JFrome 登陆/注册/回显无数据库连接小程序
  6. javascript获得给定日期的前一天的日期
  7. mybatis中association的column传入多个参数值
  8. Django models通过DateTimeField保存到MySQL的时间的时区问题
  9. C#笔记(Hex转JPG)
  10. Android模拟器Genymotion安装向导