『壹』 如何用javaScript 实现 iOSwebView里面Html界面导航栏置顶效果
//记录导航条原来在页面上的位置 
var naviga_offsetTop = 0; 
var naviga_offsetLeft = 0; 
//IE7不识别getElementsByClassName,为了兼容自定义一个 
function my_getElementsByClassName(class_name) { 
var el = []; 
//获取所有元素 
_el = document.getElementsByTagName('*'); 
//通过className刷选 
for (var i=0; i<_el.length; i++ ) { 
if (_el[i].className == class_name ) { 
el[el.length] = _el[i]; 
} 
} 
return el; 
} 
//导航条,悬停在顶部 
function naviga_stay_top(){ 
var a_navigation_bar = []; 
if(document.getElementsByClassName){//Chrome, FF 
a_navigation_bar = document.getElementsByClassName("navigation"); 
} else {//IE 
a_navigation_bar = my_getElementsByClassName("navigation"); 
} 
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; 
document.title = scrollTop; 
//如果向下滚动的距离大于原来导航栏离顶部的距离 
//直接将导航栏固定到可视区顶部 
if( scrollTop > naviga_offsetTop ){ 
a_navigation_bar[0].style.top = 0 + "px"; 
} else { 
//如果向下滚动的距离小原来导航栏离顶部的距离,则重新计算导航栏的位置 
a_navigation_bar[0].style.top = (naviga_offsetTop - scrollTop) + "px"; 
} 
} 
//给导航条上四个tab,加上点击事件。 
window.onload=function(){ 
var a_tabs = []; 
if( document.getElementsByClassName ){//Chrome, FF 
a_tabs = document.getElementsByClassName("tab"); 
}else{ //IE 
a_tabs = my_getElementsByClassName("tab"); 
} 
var a_contents = []; 
if( document.getElementsByClassName ){//Chrome, FF 
a_contents = document.getElementsByClassName("content"); 
}else{//IE 
a_contents = my_getElementsByClassName("content"); 
} 
//获取offsetLeft,即导航栏离左边框的距离 
var a_main_div = []; 
if( document.getElementsByClassName ){//Chrome, FF 
a_main_div = document.getElementsByClassName("main"); 
}else{ //IE 
a_main_div = my_getElementsByClassName("main"); 
} 
naviga_offsetLeft = a_main_div[0].offsetLeft; 
a_tabs[0].onclick=function(){ 
window.scrollTo(0, a_contents[2].offsetTop); 
} 
a_tabs[1].onclick=function(){ 
window.scrollTo(0, a_contents[3].offsetTop); 
} 
a_tabs[2].onclick=function(){ 
window.scrollTo(0, a_contents[4].offsetTop); 
} 
a_tabs[3].onclick=function(){ 
window.scrollTo(0, a_contents[5].offsetTop); 
} 
//获取页面上,导航条到顶部的位置 
var a_navigation_bar = []; 
if(document.getElementsByClassName){//Chrome, FF 
a_navigation_bar = document.getElementsByClassName("navigation"); 
} else {//IE 
a_navigation_bar = my_getElementsByClassName("navigation"); 
} 
//获取offsetTop 
naviga_offsetTop = a_navigation_bar[0].offsetTop; 
a_navigation_bar[0].style.left = naviga_offsetLeft + "px"; 
//给滚动条以及鼠标加上滚动事件 
if( window.attachEvent) //IE 
{ 
window.attachEvent("onmousewheel", naviga_stay_top); 
window.attachEvent("onscroll", naviga_stay_top); 
document.attachEvent("onmousewheel", naviga_stay_top); 
document.attachEvent("onscroll", naviga_stay_top); 
} else {//Chrome ,FF 
window.addEventListener("mousewheel", naviga_stay_top,false); 
window.addEventListener("scroll", naviga_stay_top,false); 
document.addEventListener("mousewheel", naviga_stay_top,false); 
document.addEventListener("scroll", naviga_stay_top,false); 
} 
}
『贰』 ios开发怎么获取topbar高度
1.状态栏
状态栏一般高度为像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用。如下图
iOS <wbr>各种控件默认高度
用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明的黑色。
如果需要隐藏状态栏可以使用调用:
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
或者在应用程序文件Info.plist中将UIStatusBarHidden键设为ture。
2.导航栏
在纵向模式下导航栏为44像素高,在横向模式下为32像素高,导航栏提供了一个很少用的提示模式,该模式将高度扩展了30像素,在纵向模式下为320*74像素,在横向模式下为480*74像素。
要向导航栏添加提示,则设置self.navigationItem.prompt = @"................"。
iOS <wbr>各种控件默认高度
3.选项卡  工具栏
选项卡为48像素高,工具栏为44像素高。此两个UI元素通长不用于横向模式。
iOS <wbr>各种控件默认高度
典型的带有导航栏和状态栏的应用程序为纵向显示保留了320*416的区域,为横向保留了480*268的区域。如果使用选项卡栏或者工具栏则会使高度再次减少48或者44像素。
4.键盘和pickerView
此一般都为横向320*216像素,纵向为480*162像素。
另外,UISwitch默认为94*28像素,UISegmentedControl通长为44像素高。
UITextField高度一般至少为30像素。
5.UIScreen类
[[UIScreen mainScreen] applicationFrame]一般会根据正在使用的工具栏,状态栏,导航栏来返回可用的区域。
iphone和iPad下各种常见控件的宽度和标准是一样的,所以这里就用iPhone说明。
 
以下是常见的几种控件的高度。Statusbar,Navigationbar和Tabbar的宽度极其图标大小。
iOS <wbr>各种控件默认高度
下表是更为详细的参数,包括了Statusbar,Navigationbar、Tabbar、toolbar和Keyboard等等
『叁』 iphone界面尺寸规范
iphone 6 plus设计版:1242*2208
ppi:401ppi
  
 状态栏高度:60px
  
 导航栏高度:132px
  
 标签栏高度:147px
iphone 6 plus放大版:1125*2001
  
 ppi:401ppi
  
 状态栏高度:54px
  
 导航栏高度:132px
  
 标签栏高度:147px
iphone 6 plus物理版:1080*1920
  
 ppi:401ppi
  
 状态栏高度:54px
  
 导航栏高度:132px
  
 标签栏高度:147px
物理版、放大版、设计版的区别:
  
 物理版就是iphone 6plus实际实际的屏幕像素,而设计版就是我们截屏iphone 6plus的界面在ps中去量,发现的尺寸。很明显,量出来的分辨率也就是设计版要比物理版的分辨率要大,这可能由于苹果采用了缩放显示的。至于放大版,其实就是iphone 6的尺寸等比放大1.5倍得出的分辨率。
iphone 6:750*1334
  
 ppi:326ppi
  
 状态栏高度:40px
  
 导航栏高度:88px
  
 标签栏高度:98px
iphone 5-5c-5s:640*1136
  
 ppi:326ppi
  
 状态栏高度:40px
  
 导航栏高度:88px
  
 标签栏高度:98px
iphone 4-4s:640*960
  
 ppi:326ppi
  
 状态栏高度:40px
  
 导航栏高度:88px
  
 标签栏高度:98px
iphone&ipod Touch第一代、第二代、第三代:320*480
  
 ppi:163ppi
  
 状态栏高度:20px
  
 导航栏高度:44px
  
 标签栏高度:49px
图标尺寸:
  
 iphone 6 plus(@3X)
  
 App store:1024*1024px(180px)
  
 非retina:512*512px(90*90px)
  
 程序应用:180*180px0000
  
 主屏幕:114*114px(20px)
  
 spotlight搜索:87*87px
  
 工具栏和导航栏:66*66px
iphone 4、5、6(@2X)
  
 App store:1024*1024px
  
 程序应用:120*120px
  
 主屏幕:114*114px
  
 spotlight搜索:58*58px(10px)
  
 工具栏和导航栏:44*44px
iphone&ipod touch第一代、第二代、第三代:
  
 App store:1024*1024px
  
 程序应用:120*120px
  
 主屏幕:57*57px(10px)
  
 spotlight搜索:29*29px
测量标注工具为:
  
 MarkMan马克鳗,Dorado标注,PXcook像素大厨。
iphone6图标尺寸
  
 导航栏的图标高度为44px左右,标签栏的图标尺寸为50x50px左右,最大为96x64px。
设置界面的图标高度和开关滑动按钮的图标高度:58px。
  
 ip 6 plus的图标高度和开关滑动按钮为:87*87px。
iPhone6文字尺寸
  
 导航栏的文字大小最大值是34-36px,标签栏的图标下方的文字大小为20px。
  
 内容区域的文字大小是:20px~24px,26px,28px,30px,32px,34px。
文字颜色:
  
 黑白灰颜色常用的数值是:
  
 ① 文字黑色#282828
  
 ② 文字深灰色#656565
  
 ③ 文字浅灰色#98989
  
 ④ 边框浅灰色#C3C3C3
  
 ⑤ 背景淡灰色#f2f2f2
  
 ⑥ 按钮背景纯白色#ffffff
常用的可点击高度,在iPhone6的原型图上,统一成88px。在iPhone6设计稿中,88px是一个常用的设计尺寸。
搜索栏的高度,在iPhone6的原型图上,统一成58px。
  
 在iPhone6设计稿中,58px 也是一个常用的设计尺寸。
在iPhone6设计稿中,界面元素之间的常用距离,亲密距离:20px;疏远距离:30px。
导航栏的图标高度为44px(绝大部分功能按钮)左右,标签栏的图标尺寸为50x50px左右,最大为96x64px。
关闭按钮34px*34px,返回按钮26px,简单笔画图标40px。
常用的可点击高度-登陆框、密码框、功能列表等,统一设成88px。
搜索栏、输入框、评论框、地址框的高度,在iPhone6的原型图上,统一设成58px或60px。
在iPhone6设计稿中,界面元素之间的常用距离。
  
 常用间距-亲密距离:20px(与边缘距离);疏远距离:30px;
其它距离-10px,44px等;
区块间隔:30-40px。
A、疏远距离:比如,改图标距离手机屏幕最左边的距离;
B、亲密距离:比如,左边图标与右边文字之间的距离。
黑白灰颜色常用的数值是:
  
 ① 文字黑色#333
  
 ② 文字深灰色#666
  
 ③ 文字浅灰色#999
  
 ④ 边框浅灰色#e5e5e5
  
 ⑤ 背景淡灰色#f2f2f2
  
 ⑥ 按钮背景纯白色#ffffff
移动端常规字体
IOS:常选择华文黑体或者冬青黑体,尤其是冬青黑体效果最好,方正兰亭黑和方正黑体简、方正中等线也运用的比较多。
字体的大小
  
 1、导航栏的文字大小是36-38px;
  
 2、标题字号:32px ,34px;
  
 3、内容区域的正文文字大小是:28px,30px;
  
 4、辅助性文字:20px , 24px,26px;
  
 5、标签栏(或主菜单栏)的图标下方的文字大小为20px;
  
 6、终极原则:不大于所在要件高度的一半*;
  
 7、行间距:字号的1.2-1.5倍。
IOS
长文本
  
 可接受下线(80%用户接受):26px
  
 见小值(50%用户认为偏小):30px
  
 舒适值(用户认为最舒适):32~34px
短文本
  
 可接受下线(80%用户接受):28px
  
 见小值(50%用户认为偏小):30px
  
 舒适值(用户认为最舒适):32px
注释
  
 可接受下线(80%用户接受):24px
  
 见小值(50%用户认为偏小):24px
  
 舒适值(用户认为最舒适):28px
颜色值
IOS颜色值取 RGB各颜色的值比如某个色值,给予IOS开发的色值为 R:12 G:34 B:56 给出的值就是 12,34,56(有时也要根据开发的习惯,有时也用十六进制)
内部设计
1、所有能点击的图片不得小于44px(Retina需要88px)
  
 2、单独存在的部件必须是双数尺寸
  
 3、两倍图以@2x作为命名后缀
  
 4、充分考虑每个控制按钮在4中状态下的样式,如默认、按下、选中、不可点击。
  
 短文本:
  
 注释:
  
 逻辑分辨率
  
 lPPI(像素密度)
  
 表示沿着对角线,每英寸所拥有的像素(pixel)数目,PPI的数值越高,代表显示屏能够以越高的密度显示图像,即通常所说的分辨率越高,颗粒感越弱,图像更清晰。
1 inch= 2.54cm = 25.4mm
  
 早期的iPhone3GS的屏幕屏幕分辨率是320 * 480,iOS绘制图形(CGPoint/CGSize/CGRect)均已point为单位。
l点(point)和像素(pixel)换算关系
  
 iPhone3GS
  
 1point = 1pixel
iPone4/4s、iPhone5/iPhone5s、iPhone6/iPhone6s
  
 1point = 2pixel
iPhone6Plus/iPhone6s Plus
  
 1point = 3pixel
  
 iphone手机英寸如何制定?
  
 pt以及倍率之间的换算关系
建立色彩标准卡
  
 ps有没有标注工具
  
 图标栅格系统
『肆』 js 如何获得浏览器的高度
要在js中获得浏览器的高度可以参考以下步骤(具体代码见最后):
 1、outerHeight属性设置或返回一个窗口的外部高度,包括所有界面元素(如工具栏/滚动条)。
2、outerWidth属性设置或返回窗口的外部宽度,包括所有的界面元素(如工具栏/滚动)。
3、innerheight 返回窗口的文档显示区的高度。
4、innerwidth 返回窗口的文档显示区的宽度。
补充:
在浏览器兼容方面:
1、所有主流浏览器都支持 outerWidth 和 outerHeight 属性。
注意:IE 8 及更早 IE 版本不支持该属性。
2、所有主流浏览器都支持 innerWidth 和 innerHeight 属性。
注意:IE 8 及更早 IE版本不支持这两个属性。
获取代码:
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
<head> 
<title>请调整浏览器窗口</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> 
</meta></head> 
<body> 
<h2 align="center">请调整浏览器窗口大小</h2><hr /> 
<form action="#" method="get" name="form1" id="form1"> 
<!--显示浏览器窗口的实际尺寸--> 
浏览器窗口 的 实际高度: <input type="text" name="availHeight" size="4"/><br /> 
浏览器窗口 的 实际宽度: <input type="text" name="availWidth" size="4"/><br /> 
</form> 
<script type="text/javascript"> 
<!-- 
var winWidth = 0; 
var winHeight = 0; 
function findDimensions() //函数:获取尺寸 
{ 
//获取窗口宽度 
if (window.innerWidth) 
winWidth = window.innerWidth; 
else if ((document.body) && (document.body.clientWidth)) 
winWidth = document.body.clientWidth; 
//获取窗口高度 
if (window.innerHeight) 
winHeight = window.innerHeight; 
else if ((document.body) && (document.body.clientHeight)) 
winHeight = document.body.clientHeight; 
//通过深入Document内部对body进行检测,获取窗口大小 
if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth) 
{ 
winHeight = document.documentElement.clientHeight; 
winWidth = document.documentElement.clientWidth; 
} 
//结果输出至两个文本框 
document.form1.availHeight.value= winHeight; 
document.form1.availWidth.value= winWidth; 
} 
findDimensions(); 
//调用函数,获取数值 
window.onresize=findDimensions; 
//--> 
</script> 
</body> 
</html>