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. cf 700 B Connecting Universities

    题意:现在给以一棵$n$个结点的树,并给你$2k$个结点,现在要求你把这些节点互相配对,使得互相配对的节点之间的距离(路径上经过边的数目)之和最大.数据范围$1 \leq n \leq 200000, ...

  2. 输入参数是NSDate,输出结果是星期几的字符串

    给你一个方法,输入参数是NSDate,输出结果是星期几的字符串.+ (NSString*)weekdayStringFromDate:(NSDate*)inputDate { NSArray *wee ...

  3. iOS 使用Touch ID 校验[新增 iOS9 三种错误]

    iOS8后苹果开放了Touch ID的API给开发者,这也给我们的app带来了新的体验.开发者们可使用向第三方应用开放了Touch ID权限的API,以便他们在应用中使用指纹认证来完成用户认证或支付购 ...

  4. jquery mobile的事件

    有个问题困扰了我两天,知道今天才解决. 那就是page的pagecreate事件,只调用一次 如果想随时更新,就要调用pageshow事件,每次都会调用, 这个事情再次告诉我,基础要扎实啊,不然会浪费 ...

  5. 手机测试pc端网页

    在这个问题上徘徊了 一个钟头了,终于被我找到方法了,就赶紧记下来,以后好查阅!! 主要问题在防火墙,防火墙阻当了80端口,所以怎么用手机访问都是访问不了的.把防火墙关闭就好了! 贴上httpd-vho ...

  6. memcache内存估算整理

    参考文章: http://blog.csdn.net/tonyxf121/article/details/7906428 http://zhihuzeye.com/archives/2361 memc ...

  7. iOS核心动画学习整理

    最近利用业余时间终于把iOS核心动画高级技巧(https://zsisme.gitbooks.io/ios-/content/chapter1/the-layer-tree.html)看完,对应其中一 ...

  8. ios 模拟器不显示系统版本了,后边都是 uuid 了,怎么弄回来?系统升级xcode6.4,模拟器找不到选择了?

    当我用El Capitan Beta 下 Xcode6.4版本时候出现了问题 常用的Scheme 选择版本不见了 而在Xcode 7.0 beta 6中显示有 简直就是坑,经过查资料其实是一个bug ...

  9. Linux IO实时监控iostat命令详解

    简介 iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息.用户可以通过指定统计的次数和时间 ...

  10. C#导出csv文件 支持中文的解决方案

    #region 导出CSV下载 string exportFileName = "Export" + DateTime.Now.ToString("yyyyMMddHHm ...