ios sizeclasses

来源:互联网 发布:怎么在淘宝开网店 编辑:程序博客网 时间:2024/06/06 13:01

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)   


0 0
原创粉丝点击