导航控制器常用函数触发时机

当视图控制器的View将要出现时触发

- (void)viewWillAppear:(BOOL)animated

当视图控制器的View已经出现时触发

- (void)viewDidAppear:(BOOL)animated

当视图控制器的View将要消失时触发

- (void)viewWillDisappear:(BOOL)animated

当视图控制器的View已经消失时触发

- (void)viewDidDisappear:(BOOL)animated

当由前一个界面,push下一个界面时,如A push B,四个方法执行顺序A(ViewWillDisappear)>B(viewWillAppear)>A(viewDidDisappear)>B(viewDidAppear)

当由后一个界面pop前一个界面时,如B pop A,四个方法执行顺序B(viewWillDisappear)>A(viewWillAppear)>B(viewDidDisappear)>A(viewDidAppear)

navigationBar常用属性

一. 对navigationBar直接配置,所以该操作对每一界面navigationBar上显示的内容都会有影响(效果是一样的

)

1.修改navigationBar颜色

self.navigationController.navigationBar.barTintColor = [UIColor redColor];

2.关闭navigationBar的毛玻璃效果

self.navigationController.navigationBar.translucent = NO;

3.将navigationBar隐藏掉

self.navigationController.navigationBarHidden = YES;4.给navigationBar设置图片

不同尺寸的图片效果不同

:

1.320 * 44,只会给navigationBar

附上图片

2.高度小于44,以及大于44且小于64:会平铺navigationBar以及状态条上显示

3.高度等于64:整个图片在navigationBar

以及状态条上显示

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"32050"] forBarMetrics:UIBarMetricsDefault];

二.为每一个界面的navigationBar上显示的内容单独定制(每个界面显示内容不一样)单独定制,修改视图控制器的navigationItem

1.设置界面的

title

self.navigationItem.title = @"远东大开发

”;

2.修改titleView(中间显示视图

)

UISegmentedControl*segment = [[UISegmentedControlalloc]initWithItems:@[@"分组",@"好友"]]; self.navigationItem.titleView= segment;

3.修改

navigationBar的颜色self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];

4.修改navigationBar,

右边显示内容

UIBarButtonItem *right = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(add:)];

self.navigationItem.rightBarButtonItem = right;

5.

修改navigationBar,左侧显示内容

UIBarButtonItem*left = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAddtarget:selfaction:@selector

(add:)];

self.navigationItem.leftBarButtonItem

= left;

iOS导航控制器常用函数与navigationBar常用属性的更多相关文章

  1. 关于ios导航控制器的知识总结

    关于ios导航控制器的知识总结 添加了导航控制器后: 1.一个导航控制器会有一个顶部导航栏navigationbar和一个底部工具栏toolbar,它们是导航控制器navC的属性.且导航栏默认是不隐藏 ...

  2. IOS 导航控制器基本使用(UINavigationController代码创建方式)

    ● UINavigationController的使用步骤 ➢ 初始化UINavigationController ➢ 设置UIWindow的rootViewController为UINavigati ...

  3. 关于iOS导航控制器隐藏和显示会出现返回键失效,导航栏标题动画异常

    最近做的demo  bug出现了,我觉得这个bug出现得很经典所以贴出来给大家看看, bug演示就是:点击返回键失效出现如下gif图演示的内容 为啥会出现如此奇葩的bug,系统的返回键居然失效了,尴尬 ...

  4. iOS 导航控制器返回栈中的某一控制器

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  5. iOS - 导航控制器

    1.导航控制器 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.bac ...

  6. iOS 导航控制器如何随意push和pop 想要在 A push B 后, B 在push 到 D ,然后从 D pop 到 C ,在从 C pop 的A

    这里主要是对导航控制器的viewControllerss这个数组进行操作,因为push操作和pop操作都是根据这个数据去切换控制器或者在这个数组里增加控制器的,所以只要改变这个子控制器数据就能自定义切 ...

  7. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_16_常用的函数式接口_Function接口中练习-自定义函数模型拼接

  8. oracle常用函数总结

    Oracle常用函数总结 ---oracle常用函数-----一.数值型常用函数----取整数--select floor(10.1) from dual;--将n四舍五入,保留小数点后m位(默认情况 ...

  9. LoadRunner中常用函数参考手册

    基础篇1:LoadRunner中常用函数参考手册 常用函数列表 web_url web_submmit_form VS web_submmit_data VS web_custom_request w ...

随机推荐

  1. rsync数据同步备份

    一.rsync简介 (1)rsync是什么? rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具. (2)rsync作用比较 远程拷贝:有点类似ssh的scp ...

  2. lodop打印控件

    http://www.c-lodop.com/demolist/PrintSampIndex.html

  3. 浅谈 jQuery 事件源码定位问题

    该方法已过期,chrome 48还是49开始,自带各种流行框架的事件绑定解析. 勾上这个选项即可. 昨天群里有人问了个事件源码定位的问题,简单描述下是这样的. 在一个不是自己写的页面上,如何快速定位到 ...

  4. ViewHolder的改进写法

    先看看ViewHolder通用写法         ViewHolder holder = null;         if(convertView == null){                 ...

  5. DAY6 处理http头,格式化输出

    <html> <head> <script> function insertStr(str1,n,str2){ if(str1.length<n){ retu ...

  6. 我对Jenkins的认识

    参考: http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.html

  7. 耿丹CS16-2班第一次作业汇总

    第一次作业统计完成. 注:1.作业顺序:取最早交作业的前3名,依次拿5,2,1分,前提是作业质量较高,否则轮至下一名同学得分,其余同学得0分:2.作业情况:满10分,空一题扣2分,心得写得好的有额外加 ...

  8. 上个项目的一些反思 II

    上个项目需要使用通讯录,我在回顾自己设计的时候,发现自己少设计了cache这一环. 虽然直接用SQLite在初期体验上没什么大损失,不过可以预想通讯录增长到一定数量后势必会影响体验. 单例模式,全局缓 ...

  9. java连接oracle范例

    需要引用:ojdbc6.jar import java.sql.*; public class Main { static Connection conn; static Statement stat ...

  10. 漫画告诉你什么是DDoS攻击?

    本文作者:魏杰 文章转载自:绿盟科技博客,原文标题:看ADS如何治愈DDoS伤痛 根据<2015 H1绿盟科技DDoS威胁报告>指出,如今大流量网络攻击正逐渐呈现增长趋势,前不久锤子科技的 ...