1.继承链:UIviewcontroller:uiresponder:NSObject

2.如果你想使用一些动画转换,可以遵守 UINavigationControllerDelegate

3.创建导航控制器:

    (1)- (instancetype)initWithRootViewController:(UIViewController *)rootViewController  :使用系统默认的导航栏和工具栏,通过一个根视图创建导航控制器

    (2)- (instancetype)initWithNavigationBarClass:(Class)navigationBarClass
                              toolbarClass:(Class)toolbarClass  :通过一个自定义的导航栏和工具栏创建导航控制器

4.访问导航栈的item

    (1)@property(nonatomic, readonly, strong) UIViewController*topViewController  :返回栈顶的controller

    (2)@property(nonatomic, readonly, strong) UIViewController*visibleViewController  :返回显示的controller

    (3)@property(nonatomic, copy) NSArray<__kindof UIViewController *> *viewControllers  :返回堆栈中所有的controller

    (4)- (void)setViewControllers:(NSArray<UIViewController *> *)viewControllers
                  animated:(BOOL)animated  :设置管理的视图控制器

5.推出和压进栈item

    (1)- (void)pushViewController:(UIViewController *)viewController
                  animated:(BOOL)animated  :压入新的视图控制器

    (2)- (UIViewController *)popViewControllerAnimated:(BOOL)animated  :弹出一个视图控制器 返回的是栈顶的controller 

    (3)- (NSArray<__kindofUIViewController *> *)popToRootViewControllerAnimated:(BOOL)animated  :rootviewcontroller将会成为栈顶视图,返回所有的视图

    (4)- (NSArray<__kindofUIViewController *> *)popToViewController:(UIViewController *)viewController
                                                    animated:(BOOL)animated  :弹出到某个视图控制器 返回所有弹出的controller

    (5)@property(nonatomic, readonly) UIGestureRecognizer*interactivePopGestureRecognizer  :iOS7之后,在导航中右划会进行pop操作,设置这个的enable可以控制设置手势是否失效

6.配置导航条

    (1)@property(nonatomic, readonly) UINavigationBar*navigationBar  :导航栏对象,只读属性

    (2)- (void)setNavigationBarHidden:(BOOL)hidden
                      animated:(BOOL)animated  :设置隐藏导航栏

7.配置自定义的工具栏

    (1)@property(nonatomic, readonly) UIToolbar*toolbar  :获取工具栏对象

    (2)- (void)setToolbarHidden:(BOOL)hidden
                animated:(BOOL)animated  :隐藏工具栏

    (3)@property(nonatomic, getter=isToolbarHidden) BOOL toolbarHidden  :隐藏工具栏

8.隐藏导航条

    (1)@property(nonatomic, readwrite, assign) BOOL hidesBarsOnTap  :敲击屏幕可以隐藏与显示导航栏

    (2)@property(nonatomic, readwrite, assign) BOOL hidesBarsOnSwipe  :屏幕滑动的时候隐藏导航栏,常用于tableView,上滑隐藏导航栏,下滑显示,带动画效果

    (3)@property(nonatomic, readwrite, assign) BOOL hidesBarsWhenVerticallyCompact  :横屏的时候隐藏导航栏

    (4)@property(nonatomic, readwrite, assign) BOOL hidesBarsWhenKeyboardAppears  :当键盘出现的时候隐藏导航条

    (5)@property(nonatomic, getter=isNavigationBarHidden) BOOL navigationBarHidden  :隐藏导航条

    (6)@property(nonatomic, readonly, assign) UITapGestureRecognizer*barHideOnTapGestureRecognizer  :获取敲击屏幕的手势

    (7)@property(nonatomic, readonly, strong) UIPanGestureRecognizer*barHideOnSwipeGestureRecognizer  :获取滑动屏幕的手势

    (8)@property(nonatomic, weak) id< UINavigationControllerDelegate> delegate  :设置委托

9.显示viewcontroller的动作方法

    (1)- (void)showViewController:(UIViewController *)vc
                    sender:(id)sender  :这个方法是为了iOS方法的命名统一,在导航中,其作用和push一样

UIkit框架之uUInavigationController的更多相关文章

  1. Swift - 重写UIKit框架类的init初始化方法(以UITabBarController为例)

    原来写了篇文章讲UITabBarController的用法,当时是从UIViewController跳转到UITabBarController页面,代码如下: 1 self.presentViewCo ...

  2. UIKit框架

    在今后的应用程序构建中,会陆续使用各式各样的控件,因此UIKit框架的引入是必不可少的! 一.简介 UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面接口.应 ...

  3. iOS学习32之UIKit框架-可视化编程-XIB

    1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...

  4. 基础框架Fundation和UIkit框架的定义和使用

    Foundation 框架为所有应用程序提供基本的系统服务 您的应用程序以及 UIKit 和其他框架,都建立在 Foundation 框架的基础结构之上.Foundation 框架提供许多基本的对象类 ...

  5. iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。

    转发:http://my.oschina.net/u/1378445/blog/335014 iOS UIKit动力学 Dynamics UIAttachmentBehavior 实现iMessage ...

  6. iOS开发UIKit框架-可视化编程-XIB

    1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...

  7. 79、iOS 的Cocoa框架、Foundation框架以及UIKit框架

    Cocoa框架是iOS应用程序的基础 1. Cocoa是什么? Cocoa是 OS X和ios 操作系统的程序的运行环境. 是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发 ...

  8. UIKit 框架之UIView二

    下面这些都是UIView一些基本的东西,具体的可以参考UIKit 框架之UIView一博客 一.自定义一个View // // MyView.m // UIView // // Created by ...

  9. UIKit 框架之Bar、Controller

    UIKit框架中有各种Bar,UITabBar.UINavigationBar.UIToolbar.Bar对应的就有一些Item,tabBarItem.navigationItem.toolbarIt ...

随机推荐

  1. [转]iOS学习之UINavigationController详解与使用(三)ToolBar

    转载地址:http://blog.csdn.net/totogo2010/article/details/7682641 iOS学习之UINavigationController详解与使用(二)页面切 ...

  2. ArcGIS Javascript地图上添加json数据格式的点

    /** * 显示地图点. * json的格式[{"name":"name1","x":"x1","y" ...

  3. Cheatsheet: 2015 06.01 ~ 06.30

    Web The Front-End Optimization Checklist [ASP.NET 5] Production Ready Web Server on Linux. Kestrel + ...

  4. DSO、CUBE区别(覆盖、合计)

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. Centos7 搭建 Keepalived+LVS 备注

    NAT模型需要RealServer gateway设定为,DR模式需要执行 RealServer.sh.需要先安装network-tools. #!/bin/bash#description : st ...

  6. laravel 中 与前端的一些事4 之合并压缩静态文件

    合并压缩多个静态文件到一个文件里面,可以减少网站的http请求,稍微优化性能,提高网站的用户体验 使用elixir来实现: 敲命令 合并并压缩js和css文件

  7. es6箭头函数中this

    普通函数: $scope.$on('$stateChangeSuccess',function(){this.list = this.getList();}); 箭头函数: $scope.$on('$ ...

  8. 整理一下以前的Html+css3复习笔记

    一.html5新特性  常用语义标签:nav footer header section mark  功能标签 video audio iframe canvas(画布和绘图功能)  input新ty ...

  9. ABAP之声母韵母

    我们一开始上学的时候,老师最先教的是什么? 拼音,声母,韵母,声调等等. 那么ABAP里什么是这些东西呢? 基础的数据类型,已经数据字典里的东西:域,数据元素,结构,视图,表,搜索帮助,锁... 数据 ...

  10. [Android] Web Console: Uncaught TypeError: Object [object Object] has no method 'xxx'

    我们开发的产品,有一部分功能,需要在WebView中打开web页面,然后在web页面中通过js方法回调部分native的功能. 对于web回调native的开发方式,如果不了解的话,可以参考我以前的一 ...