iOS 屏幕原点坐标 && 导航栏风格的自定义
其一
屏幕原点坐标 (x ,y) 受 self.navigationController. navigationBar 的 setTranslucent (BOOL) 属性控制
在 iOS7 以后 translucent 属性默认为 YES 该属性含义是 毛玻璃 半透明效果
YES 起始 坐标 为屏幕顶端 左上角 为 (0 , 0) ,此时 UI展示的内容可透过 导航栏
NO 起始 坐标 为屏幕顶端 左上角 为 (0 , 20 + 44) 这个说明 起始坐标 在状态栏 和 导航栏 之下边开始 导航栏便没有毛玻璃效果了
其二
我们知道导航控制器 是控制根 整体都是统一的状态 所以要用系统的导航控制器改变风格 就是改变整体 那么如果要定制 其中一个页面的话 当退出 当前页面 一定要恢复导航栏的系统设计状态
剩下的 在实战中慢慢体会 举一反三 效果都可以出来
例如
+(void)setNormalGreenNav:(UINavigationController *)navigationController
{
[navigationController.navigationBar setTranslucent:NO];
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
[navigationController.navigationBar setTintColor:[UIColor colorWithRed:0.25 green:0.65 blue:0.35 alpha:]];
[navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header.png"] forBarMetrics: UIBarMetricsDefault]; } else {
[navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
[navigationController.navigationBar setTintColor:[UIColor whiteColor]];//导航栏的文字颜色
[navigationController.navigationBar setBarTintColor:COLOR_THEME_GREEN];//导航栏的背景颜色
}
} +(void)cancelNormalGreenNav:(UINavigationController *)navigationController
{
[navigationController.navigationBar setTranslucent:YES];
[navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header_newblack2"] forBarMetrics: UIBarMetricsDefault];//这个是个半透明的图片
}
其三
bug 分析 以上方法 整体风格 是绿色导航 无毛玻璃效果 其中 偶尔会出现 透明 毛玻璃效果 这个时候 如果进行切换 时候 起始坐标高度变化 0 -- (20 + 44) 会出现 黑色横条的过度视觉 UI 这个 我处理的方法是 加上UI延迟 0.8秒 左右 就可以避免看到这个黑色横条
iOS 屏幕原点坐标 && 导航栏风格的自定义的更多相关文章
- zhuang 定制iOS 7中的导航栏和状态栏
近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也就意味着导航栏 ...
- iOS 7 教程:定制iOS 7中的导航栏和状态栏
目录(?)[-] iOS 7中默认的导航栏 设置导航栏的背景颜色 在导航栏中使用背景图片 定制返回按钮的颜 修改导航栏标题的字体 修改导航栏标题为图片 添加多个按钮 修改状态栏的风格 隐藏状态栏 总结 ...
- (转)定制iOS 7中的导航栏和状态栏
近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也就意味着导航栏 ...
- 定制iOS 7中的导航栏和状态栏
本文转载至 http://www.cocoachina.com/industry/20131104/7287.html 跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外 ...
- iOS 导航栏风格
IOS-导航栏风格 导航控制器可以用几种不同的风格来显示自身.默认风格就是标准的灰色外观.目前支持三种不同的风格. 风 格 描 述 UIBarStyleDefault 默认风格:灰色背景, ...
- 保持UIImagePickerController后导航栏风格统一
1. UIImagePickerController 状态栏始终保持某一种风格. -(void)navigationController:(UINavigationController *)navig ...
- iOS 更改状态栏、导航栏颜色的几种方法
ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分:背景部分:就是显示黑色或者图片的背景部分: (一)设置sta ...
- IOS开发中设置导航栏主题
/** * 系统在第一次使用这个类的时候调用(1个类只会调用一次) */ + (void)initialize { // 设置导航栏主题 UINavigationBar *navBar = [UINa ...
- ios显示或隐藏导航栏的底线
根据产品需求要求把这个界面导航栏的底线去掉,下个控制器还需要有底线. 使用下面的代码实现 //在页面出现的时候就将黑线隐藏起来 -(void)viewWillAppear:(BOOL)animated ...
随机推荐
- STL学习笔记(数值算法)
运用数值算法之前必须先加入头文件<numeric> 加工运算后产生结果 1.对序列进行某种运算 T accumulate(InputIterator beg,InputIterator e ...
- 【DB2】根据映射表映射出结果
第一步:创建语法 CREATE TABLE OLIVER_MAP(ID INT,COM_TYPE VARCHAR(100),COM_NAME VARCHAR(100),SR_UP DECIMAL(18 ...
- float数据在内存中的存储方法
浮点型变量在计算机内存中占用4字节(Byte),即32-bit.遵循IEEE-754格式标准.一个浮点数由2部分组成:底数m 和 指数e. ±mant ...
- python 读写 json文件
json的优势: 1. 数据体积方面. JSON相对于XML来讲,数据的体积小,传递的速度更快些. 2. 传输速度方面. JSON的速度要远远快于XML 3. 数据格式 数据格式比较简单, 易于读写, ...
- mfs客户端挂载
1.安装fuse yum install fuse fuse-devel 2.加载fuse模块 modprobe fuse 3.创建mfs用户 useradd mfs -s /sbin/nologin ...
- Memcached的LRU和缓存命中率
缓存命中率 命中:直接从缓存中读取到想要的数据. 未中:缓存中没有想要的数据,还需要到数据库进行一次查询才能读取到想要的数据. 命中率越高,数据库查询的次数就越少. 读取缓存的速度远比数据库查询的速度 ...
- 《STL源代码剖析》学习笔记系列之七、八——仿函数和配接器
1. 仿函数 仿函数又名函数对象.具有函数性质的对象.就是传入一些參数.然后对參数进行某些运算,然后返回一个值. 为了可以使行为类似函数,须要在类别定义中必须自己定义function call 运算子 ...
- Verilog利用$fdisplay命令往文件中写入数据
最近在做的事情是,用FPGA生成一些满足特定分布的序列.因此为了验证我生成的序列是否拥有预期的性质,我需要将生成的数据提取出来并且放到MATLAB中做数据分析. 但是网上的程序很乱,表示看不懂==其实 ...
- YUV图像合成原理
http://blog.csdn.net/zwz1984/article/details/50403150 http://zhongcong386.blog.163.com/blog/static/1 ...
- Unity3d 实现鼠标左键点击地形使角色移动到指定地点[脚本]
Unity3d 实现鼠标左键点击地形使角色移动到指定地点[脚本] 2013-02-19 15:29:33 我来说两句 作者:nnsword 收藏 我要投稿 其中涉及,移动速度, ...