##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)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界 ...
随机推荐
- web.config中<customErrors>节点
错误提示: “/”应用程序中的服务器错误.------------------------------------------------------------------------------- ...
- 与ARM7相比Cortex-M3优势明显
- 解决Qt程序发布时中文乱码问题(通过QApplication.addLibraryPath加载QTextCodec插件)
Qt程序的文字编码,是通过插件来解决的,所以我们发布的时候需要把相应的插件也发布出去,在开发者电脑上程序会自动从插件目录加载到插件,但是如果发布给别的电脑使用,需要手动指定插件路径,如下所示: int ...
- UI设计中与字号有关的知识
在我们设计APP.设计前端页面时,免不了要和各种文字大小打交道.字体的大小有多种单位,不明究里的话使用起来很容易出问题.今天整理了这方面的东西做了个图片,方便查看. 图上的资料来自互联网,感谢大家的负 ...
- 在iOS当中发送电子邮件和短信
iOS实现发送电子邮件的方法很简单,首先导入MessageUI.framework框架,然后代码如下: #import "RPViewController.h" //添加邮件头文件 ...
- 一年三篇IF大于7的牛人告诉你怎么写SCI
一年三篇IF大于7的牛人告诉你怎么写SCI 1 研究生必备四本 俗话说好记性不如烂笔头,所以一定要首先养成做笔记的好习惯!作为研究生下面这几个本子是必不可少的: 1.实验记录本(包括试验准备本),这当 ...
- Hibernate的使用梳理
Hibernate创建步骤 (五大核心接口:Configuration/SessionFactory/Session/Transaction/Query) 1.新建java工程,导入需要的jar包. ...
- Visual Studio之Nuget
一.NuGet是什么? NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件,同时也可以通 ...
- android Fragment相关概念简介
Fragment 详细介绍连接:http://blog.csdn.net/harvic880925/article/details/44927375 fragment是一种控制器对象,activity ...
- oracle 与sql server 部分内置函数替换
1,trunc--convert oracle: select trunc(sysdate) from dual 输出:2016/5/24 sql server:select CONVERT(va ...