UIkit框架之uUInavigationController
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的更多相关文章
- Swift - 重写UIKit框架类的init初始化方法(以UITabBarController为例)
原来写了篇文章讲UITabBarController的用法,当时是从UIViewController跳转到UITabBarController页面,代码如下: 1 self.presentViewCo ...
- UIKit框架
在今后的应用程序构建中,会陆续使用各式各样的控件,因此UIKit框架的引入是必不可少的! 一.简介 UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面接口.应 ...
- iOS学习32之UIKit框架-可视化编程-XIB
1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...
- 基础框架Fundation和UIkit框架的定义和使用
Foundation 框架为所有应用程序提供基本的系统服务 您的应用程序以及 UIKit 和其他框架,都建立在 Foundation 框架的基础结构之上.Foundation 框架提供许多基本的对象类 ...
- iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。
转发:http://my.oschina.net/u/1378445/blog/335014 iOS UIKit动力学 Dynamics UIAttachmentBehavior 实现iMessage ...
- iOS开发UIKit框架-可视化编程-XIB
1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...
- 79、iOS 的Cocoa框架、Foundation框架以及UIKit框架
Cocoa框架是iOS应用程序的基础 1. Cocoa是什么? Cocoa是 OS X和ios 操作系统的程序的运行环境. 是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发 ...
- UIKit 框架之UIView二
下面这些都是UIView一些基本的东西,具体的可以参考UIKit 框架之UIView一博客 一.自定义一个View // // MyView.m // UIView // // Created by ...
- UIKit 框架之Bar、Controller
UIKit框架中有各种Bar,UITabBar.UINavigationBar.UIToolbar.Bar对应的就有一些Item,tabBarItem.navigationItem.toolbarIt ...
随机推荐
- HDU 5690:2016"百度之星" - 初赛 All X
原文链接:https://www.dreamwings.cn/hdu5690/2657.html All X Time Limit: 2000/1000 MS (Java/Others) Mem ...
- Internship-ZOJ2532(网络流求割边)
Internship Time Limit: 5 Seconds Memory Limit: 32768 KB CIA headquarter collects data from acro ...
- TextGrocery中文文本分类处理
详细使用说明:http://textgrocery.readthedocs.io/zh/latest/index.html TextGrocery是一个基于LibLinear和结巴分词的短文本分类工具 ...
- javax.servlet.ServletException: com.ibatis.sqlmap.client.SqlMapException: There is no statement named...问题
可能存在3种情况: 1.在xxx.xml文件中有两个标签的id命名相同: 2.DAO实现类方法中没有写对应xxx.xml的id名称: 3.实体映射文件xxx.xml未加入到sqlMap-Config. ...
- [问题2015S06] 复旦高等代数 II(14级)每周一题(第七教学周)
[问题2015S06] 设 \(V\) 是数域 \(\mathbb{K}\) 上的 \(n\) 维线性空间, \(\varphi\) 是 \(V\) 上的线性变换. (1) 求证: 对任一非零向量 ...
- 计算字符串中al_num,spance_num,digit_num,other_num的个数
def jisuan(x) : al_num = 0 spance_num = 0 digit_num = 0 other_num = 0 for i in x : if i.isdigit() : ...
- jquery中,size()和length()方法有啥区别
jquery中,size()和length()方法有啥区别? size()是jQuery提供的函数,而length是属性(不带括号). jQuery提供的源代码是这样的: size: function ...
- Linux设置ssh无密码登陆
最近在折腾Hadoop,要用到主机间无密码登陆,设置的时候遇到了一些问题,这里记录一下. 假设A需要无密码登陆B. 那么首先需要在A上使用ssh-keygen生成id_rsa.pub的公钥,生成时,一 ...
- Java与JavaScript的区别
(1)执行方式不同 java:是编译语言,需要先编译再执行 JavaScript:无需编译,直接执行 (2)数据类型不同 java:强数据类型语言 JavaScript:弱数据类型语言 (3)运行位置 ...
- JVM学习——编译OpenJDK
最近在学习<深入理解java虚拟机 第二版>这本书.书中第一部分建议大家自己编译OpenJDK.抱着学习态度也来编译个玩一玩.下面进入正题. 1.编译环境介绍 操作系统 CentOS Li ...