作为新手 xcode5 还没有适应完 就被苹果逼着使用xcode6了 打开后就懵了 我擦 我可爱的空模板哪里去了,只有一个single对于新手而且还是只会敲代码的新手真是捉急.后来百度了某大大的解决方案 大神已经写好了怎么弄 .这里就不细说了. 但感觉苹果目的还是渐渐的让开发人员减少使用代码来创建控件和布局上,直接使用图形界面来处理,加快开发速度.于是学习一下autolayout是势在必行的.
我觉得大多数的人以前都像我一样 做关于 iphone 4-inch , 3.5-inch 适配时肯定干过想我一样的事 为两个尺寸建立两个适配的view 想想那时候还真是痛苦 布局确实是浪费时间.
例如:
if(IPHONE5){
self.view = ....
}eles {
self.view = ...
}
有时也简单用一些 autoresizingmask 来约束下视图的布局 也并没深究. 现在简单知道了使用autolayout 感觉方便多了
先说autolayout 我也是按照网上的一些大神的资料学的 看的七七八八吧 就把自己理解的记下来
1.当然是保证autolayout是打开的
2.进入 storyboard 建立三个label(随便建 ,我也是按照网上的例子)
我是这样的
然后运行就操蛋了 为什么是这样!!
这时候你应该注意到了 view的大小是这样的
为什么这样?? 还是和下面的 sizeclass有关 先放着
这就需要我们使用约束条件了
打开:
解释下 pin 里的选项的意思
1. width 和 heigth 我觉得是保持这种 宽高比(相对与父视图) (我也不是很清楚 还请有经验的人解答)
2. 第二栏 依次是水平间距 竖直间距 (之所以不能点 是因为要选两个视图)
3. 第三栏 依次是 据父视图左端间距 据父视图右端间距 距父视图上端的距离 距父视图下端的距离
4. 第四栏 依次是 等宽 等高 这是需要选则多个视图 .
3 现在咱们使用autolayout ,为这些视图添加约束条件
为每个label 添加 左端间距 和 右端间距, 上边两个视图添加距上端距离 和水平间距,等宽 ,下面大视图分别添加 与上边两视图的数值间距,距底部的距离. 添加完成 像这样:
运行后是这样:
为什么呢 ?? 感觉这些条件已经够了啊. 因为我们没有约束 他们的高 .我们为上方两视图(也可以三个都加)添加 height 然后运行
这样就大功告成了.我们看下 3.5 和 4 的效果
横屏效果:
看样子已经准确无误了.
4 下面说下 sizeclass ios 8新增的东西.
以前我们使用storyboard时 适配 iPad或什么的话就会有一个 pad的入口 使用sizeclass 的话就什么都不需要了
看这个
这就是苹果新推出的"九合一"模板,(听着好像小时候玩小霸王的 N合一游戏...) 功能也十分强大 默认选择的时 wAny和 hAny就是任何屏幕,无论是iphone 还是 ipad 当然也可以自己改,上面也有解释 (不细说了)大家也可以随便用下.
下面说个特别之处 点击任意一个label 找到这个 反选 install可以让这个视图在这个情况下消失,点那个加号可以来添加情景, 我加了 wC hC 就是这样的
就是在3.5, 4, 4.7 iphone横屏状态
反选install把下端的label 隐藏了这样运行
iphone6竖屏
iphone6 横屏
就这样消失了 是不是很特别 很方便.
我理解的就这么多了 以后再好好学习,不对的地方还请大家指正 ,共同学习