##DAY7 UINavigationController
##DAY7 UINavigationController
#pragma mark ———————UINavigationController———————————
概括:
导航视图控制器也是一个视图控制器,TA管理了多个视图控制器,是系统提供给我们的容器视图控制器
导航视图控制器至少管理一个子视图控制器,这个视图控制器称为导航视图控制器的根视图控制器
如果我们的程序想要采用导航视图控制器进行布局,我们需要指定window的根视图控制器为导航视图控制器
初始化:
initWithRootViewController:
#pragma mark ———————navigationItem———————————
每一个加到导航视图控制器内部的视图控制器自带一个属性叫navigationItem
TA可以配置当前页面导航条的显示内容,比如左、右按钮,标题等。
navigationItem属性的子属性:
title
leftBarButtonItem
leftBarButtonItems
titleView
#pragma mark ———————UIBarButtonItem———————————
创建UIBarButtonItem类,设置为navigationItem的leftBarButtonItem(s)或rightBarButtonItem(s):
initWithTitle:style:target:action: 显示标题
initWithBarButtonSystemItem:target:action: 使用系统自带的图标样式
initWithImage:style:target:action: 使用自定义图标样式
注意:这里的图片会受UIBarButtonItem的影响,要添加图片原生渲染
initWithCustomView: 使用自定义视图
#pragma mark ———————navigationController———————————
navigationController属性的子属性:
viewControllers
navigationBarHidden 设置导航栏的隐藏属性,不使用导航条,但是使用导航条的递进关系等
navigationBar
navigationController属性的方法:
pushViewController:animated: 执行入栈操作,引用计数+1 second覆盖到root上面
popToViewController:animated: 创建一个新的视图控制器是不合适的,导航视图控制器是栈,root还是存在于最下面的
navigationController的模态的过渡风格属性:
modalTransitionStyle
navigationController的模态的方法:
presentViewController:animated:completion:
dismissViewControllerAnimated:completion:
#pragma mark ———————navigationBar———————————
navigationBar属性的子属性:
barStyle 设置导航栏样式
backgroundColor 设置导航条的背景颜色
barTintColor 设置导航栏颜色
tintColor 设置导航栏元素颜色
translucent 设置导航栏的默认效果,默认YES,如果为YES,屏幕左上角为坐标原点;
如果为NO,导航栏上的子视图的坐标原点为 导航栏左下角
##DAY7 UINavigationController的更多相关文章
- iOS UINavigationController(内容根据iOS编程编写)
我们知道 UITabBarController 对象,可以通过使用该对象,用户可以切换不同的屏幕.当要切换的各个屏幕之间没有相互依存关系的时候,该对象可以很好的完成任务.但是当多个屏幕互有关系的时候, ...
- UINavigationController
知识点: 1)UINavigationController 2)UINavigationBar 3)UINavigationItem 4)UIToolBar ===================== ...
- 混合使用UITabBarController和UINavigationController
混合使用这两个控件的好处是我们可以在NavigationBar添加更多的东西,如标题,按钮等.让用户能够获得更多的信息. UITabBarController的属性ViewControllers接受以 ...
- 基本组件的使用——UINavigationController
作用:在多个ViewController中切换.UINavigationController内部以栈的形式维护一组ViewController, 因此,当导航进入一个新视图的时候,会以push的形式将 ...
- 解决UINavigationController在pushViewController时出现的"卡顿"问题
进行开发中,遇到了个小问题: 在使用UINavigationController的-pushViewController:animated:执行入栈一个子控制器操作时(即最新栈顶子控制器),会出现推出 ...
- day7
本节作业: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...
- Python之路,Day7 - Python基础7 面向对象
本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战> ...
- Python Day7
概述 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 静态方法 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法 ...
- UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解
(1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界 ...
随机推荐
- J2SE知识点摘记(十)
1. 多线程的同步 2. 同步代码块 即程序中不能有多个线程同时在这两句代码之间执行.(必须两句代码执行完,其他线程才可以公用执行) 同步代码块定义语法如下 ... syn ...
- Cortex-M3学习日志(二)-- 按键实验
有输出总会有输入,今天测试一下按键的功能,第一节已经说过了与GPIO端口相关的寄存器,这里不在重复,想要从端口读取数据,首先把FIODIR这个寄存器设置为输入,再从FIOPIN寄存器读取数据就可以了, ...
- 调bug时候应该提高思维深度(多问二十个为什么)
版权声明:本文为博主原创文章,未经博主允许不得转载. (一)关于思维深度 读书时 有的人做一份卷子有一份卷子的收获 有的人做100张卷子只有一份卷子的收获 写代码时 有的人调一个Bug可以收获多方面的 ...
- kafka学习(三)-kafka集群搭建
kafka集群搭建 下面简单的介绍一下kafka的集群搭建,单个kafka的安装更简单,下面以集群搭建为例子. 我们设置并部署有三个节点的 kafka 集合体,必须在每个节点上遵循下面的步骤来启动 k ...
- CentOS配置ftp服务器
1.首先更新yum 源 yum update 2. 安装vsftpd yum install vsftpd -y // 安装 移除是 yum remove vsftpd 3. 配置Vsftp ...
- 自己定义flash的宽和高
前段时间做个项目,是个网页的聊天界面,聊天的内容使用flash制作,我需要将flash的swf插件放到页面上,然后获取聊天内容, 1.将文件在页面上显现出来: 如图,正中间使用后台制作出来的swf文件 ...
- SQL练习之两个列值的交换
SELECT * FROM dbo.test2
- Xcode工程使用CocoaPods管理第三方库新建工程时出现异常
Xcode工程使用CocoaPods管理第三方库新建工程时出现异常 Xcode工程使用CocoaPods管理第三方库新建工程时出现错误工程使用CocoaPods管理第三方库,在新的目录update版本 ...
- SQL server与Oracle触发器的创建与使用
SQL Server 1创建触发器 GO BEGIN IF (object_id('WMY', 'tr') is not null) DROP trigger WMY END; GO CREATE T ...
- InnoDB的配置
http://www.cnblogs.com/szx_rencaijob/archive/2010/04/28/1723211.html 推荐InnoDB的配置(1G内存情况,主要运行mysql服务器 ...