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 ...
随机推荐
- 一分钟搞定触手app主页酷炫滑动切换效果
代码地址如下:http://www.demodashi.com/demo/12826.html 前言: 前几天在看手机直播的时候,自己就用上了触手app.一进到主页就看上了里面页面切换的效果,自己想这 ...
- 【Lucene】Apache Lucene全文检索引擎架构之入门实战1
Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供.Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻.在Java开发环境里Lucene是一个成熟的 ...
- 使用Gitolite搭建Gitserver
Gitolite是一款Perl语言开发的Git服务管理工具.通过公钥对用户进行认证.并可以通过配置文件对些操作进行基于分支和路径的精细控制. Gitolite採用的是SSH协议而且使用SSH公钥认证. ...
- LeetCode :: Sum Root to Leaf Numbers [tree、dfs]
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...
- Atitit.面向接口的web 原理与设计重写 路由启动绑定配置url router rewriting urlpage mvc mvp的 java c#.net php js
Atitit.面向接口的web 原理与设计重写 路由启动绑定配置url router rewriting urlpage mvc mvp的 java c#.net php js 原理 通过vm带入启 ...
- ArrayList remove注意事项
例子1: List<Integer>list=new ArrayList<>(); list.add(1); list.add(2); list.add(2); list.ad ...
- bzoj3174【TJOI2013】解救小矮人
3174: [Tjoi2013]解救小矮人 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 573 Solved: 293 [Submit][Stat ...
- C和C++格式转换
一.引用参数和指针的转换 标准C不支持引用参数,对此需进行转换.下面以bo1-1.cpp和bo1-1.c中DestroyTriplet()函数为例来说明这种转换. bo1-1.cpp中含有引用参数的函 ...
- find 多文件查找需要单引号
[root@db01 local]# find -name '*.com'|xargs egrep "qq"./tt.com:qq[root@db01 local]# find ...
- 基于markdown的blog系统调研1:typecho
))