ios sizeclasses

sizeClassess

屏幕适配:
 iphone4/s 3.5英寸时代:直接用代码计算frame;
 ipad:autoresizng (让一个控件跟着他父控件的变化而变化) 能解决父子关系
 iphone5/c/s 4英寸时代:autolayout(相对定们) 能解决与兄弟和父节点的关系
 iphone6/plus:sizeclasses(为各种屏幕显示不同的东西,对各种屏幕能单独进行autolayout)
 autoresizng-->autolayout(任何控件都可以产生约束关系)-->sizeclasses(仅仅是对屏幕进行了分类,真正排布UI元素还得使用autolayout)

 ios8(sizeclasses)不再有横竖屏概念,只有屏幕尺寸的概念
                  不再有具体尺寸的概念,只有抽象尺寸(不具体)的概念,把宽度和高度各分为三种情况

 三种抽象尺寸
 Compact:紧凑(小)
 Any:任意
 Regular:宽松(大)

 宽高都可以用以上三种进行组合
 以上三种可以组合出九种尺寸(宽度三种*高度三种)
 
 所有iphone竖屏时都是Wc hR

 sizeClassess的使用
 1),选择控件,点击下边的any any,选择尺寸(横或竖);
 2),右边属性面板-->第二个选项,
    下面的install左边的"+"增加尺寸; 如 wC , hC 表示宽高都为紧凑的情况下才出现;
	 把storyBoard切换到对应的尺寸,然后UI控件的右下方为尺寸添加约束 
    

预览屏幕:
 (右上角的两个重叠的圈)"show the Assistant editor "  --->"automatic"--->"preview"-->“选择相应的storyboard”-->左下角的"+"号选择尺寸

为不现的尺寸添加不同的图片:
  点击项目中 ”images.xcassets“-->选择相应的图片-->"点击右边的属性窗口"-->在width 和 height选择应的尺寸

 sizeClassess还可以设置在不同屏幕显示不同的字体(点击字体左边的+) 

为不同的尺寸添加不同的屏幕:
 *:任意 any
 +:宽松 regular
 -:紧凑 compact

注意:在any any设置的属性会被其他尺寸继承下来(最好不要用any any ,容易造成约束混乱)

 继承性:
  * *:其他八种都会继承它
  * -:”- - ,+ - “会 继承 * -的约束
  + *: "+ - ,+ +"会继承 + *
  ....

 IOS屏幕尺寸常识:
 普通图片:非retina屏幕,iphone/3G/3GS IPAD/IPAD2
 @2x:retina屏幕,iphone4/4s/s/5s/5c/6 IPAD3/4
 @3x有什么特点:retain屏幕,iphone6 plus 
  
 @3x:如果代码中写的100,运行的时候则为300

 pt:点坐标系
 px:像素,屏幕上显示数据的基本点
 
 @2x:320*480 * 2 =640*960   px
 @3x:414*736 * 3 =1242*2208 px   渲染后的真实像素:1080*1920  /iphone 6 plus 
 @3x需要注意的地方:显示的时候会进行缩放
 1242/1080=1.15
 例如:
   如果在屏幕中放置一个 115*115的view
   则在真实情况下会被显示成100*100的view(115/1.5=100)


 
  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值