IOS7.0 Xcode5 AutoLayout 备忘录
Xcode5 xib设置autolayout方式:

列表1:
(选择两个view时可设置)
左边对齐,
右边对齐,
顶部对齐,
底部对齐,
x轴中心对齐,
y轴中心对齐,
文本底标线对齐,
(单选择一个view时可设置)
对于父view的x轴中心对齐,
对于父view的y轴中心对齐,
(选择框)
添加完约束后不进行任何操作,
在添加约束后重新摆放约束涉及到的view,
在添加约束后重新摆放所有这个容器内的view
确定按钮, 选择完上面的项目后点击添加约束

上面的十字是"与最近的邻居的约束", 填上数字, 单击虚线变成实线就是要添加这个约束.
这里的"邻居"是将一个包含子view的父view看做一个装了一堆积木的盒子, 积木相对于盒子的边框和其他的积木都作为"邻居"
(定义的宽高数据约束)
宽度指定,
高度指定,
(定义多个view之间的宽高约束)
宽度相同,
高度相同,
(列表, 多个view之间的对齐约束, 等同于前一菜单的内容)
(列表, frame更新方式, 等同于前一菜单)
(确定按钮, 设置约束后点击添加)

(上半部分菜单的操作对象是当前选中的view, 下半部分的操作对象是选中view内的view)
刷新frame(使用当前已经设置的所有约束),
刷新约束(根据当前的约束和frame, 更新约束的constant值),
添加缺失的约束(自动添加系统认为你应该添加却忘记添加的约束, 测试中经常搞出冲突)
重置为系统建议的约束(清理系统认为重复/冲突的约束, 测试中经常搞出问题)
清理所有约束(删除对象上绑定的所有约束)

(在添加约束的时候, 刷新哪些视图)
同级view和父view
子view
现在我经常碰到的就是, 比如一个控件, 它和它的父view之间使用的autolayout是用代码指定的, 我可以确定constraint的形式, 但是在实现它的时候为了方便使用了xib处理其内部的view, xib上拖放constraint由于比较复杂而我尚未明晰, 会在某些特定的情况下出现constraint冲突, 系统自动处理冲突时会将权级较低的constraint放弃, 而由于无法明确每一条constraint应该处于什么权级, 经常会出现偶发问题(如竖屏情况下constraint之间没有问题, 横屏过来之后就发现某个控件内的某个label上不小心没有删除指定宽度的constraint, 导致变形的控件和控件内label的constraint冲突, 然后引发一系列的连锁反应)
当然, 使用xib定义viewcontroller同样要接触到constraint, 而且每一个都需要管理和指定(默认constraint经常会导致冲突)
IOS7.0 Xcode5 AutoLayout 备忘录的更多相关文章
- ios7.0结合storyborad实现页面跳转的总结
折腾了一整天,本文总结一下ios7.0页面跳转有关的内容 storyboard的潜规则 我接触ios很晚,环境已经是xcode5+ios7,所以对以前的IOS开发模式并不了解.在网上查阅了很多资料,发 ...
- IOS7.0 UILabel实现自适应高度的新方法
//IOS7.0中利用- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attri ...
- UIButton 在 iOS7.0与iOS7.1 中关于enabled的一点区别
前些日子,在一台iOS7.0的设备上进行调试,关于UIButton的一部分代码如下 1 self.btn_loadmore.enabled = NO; 2 [self.btn_loadmore set ...
- Xcode9的xib只支持iOS7.0及以上版本
Xcode升级到9以后,对xib的最低编译版本有了限制,以前未指定版本的xib会报错,如下 遇到这个情况,根据错误提示很明显提示的是ib文件支持的最低版本是iOS7,所以我就将该xib的版本设为iOS ...
- 解决 ios7.0 以后自定义导航栏左边按钮靠右的问题
解决 ios7.0 以后自定义导航栏左边按钮靠右的问题 www.111cn.net 编辑:edit02_lz 来源:转载 最近开发了一个ios的app,在ios7.0+出现自定义导航栏左边按钮出现靠右 ...
- IOS7.0唯一“设备ID”的获取方法
ios7.0 以后通过sysctl获得的mac地址已经失效,所有设备均为020000000000. 可以通过苹果的keychain机制,实现设备的唯一ID标示. 具体过程:在app第一次安装时,生成一 ...
- iOS7.0后隐藏状态栏(UIStatusBar)
现象: 升级到iOS7后,UIStatusBar的出现导致现有UI界面乱掉了. 原因: 由于写死了某些控件的绝对位置,原先隐藏UIStatusBar的代码没有在iOS7中起作用 解决方法: iOS7以 ...
- IOS7 ~ Xcode5 制作 framework
一.Framework 简介(Introduction to Framework Programming Guide) Mac OS X 扩展了 framework 的功能,让我们能够利用它来共享代码 ...
- iOS7.0中UILabel高度调整注意事项(转)
注释:原文链接丢失. 我的“记词助手”在升级到iOS7之后,一直出现UILabel错位的问题: 我的label是用- (CGSize)sizeWithFont:(UIFont *)font const ...
随机推荐
- 关于使用nuget的部分代码
Install-Package 安装包 -Version 4.3.1 参数指定版本 Uninstall-Package 卸载包 Update-Package 更新包 Get-Package 默认列出本 ...
- 程序设计入门——C语言 第3周编程练习 2 数字特征值(5分)
2 数字特征值(5分) 题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作 ...
- spring,mybatis事务
概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性.Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型,比 ...
- CSS样式汇总
1. Overflow: 是否隐藏超出容器范围之外的内容,主要参数包括Hidden(隐藏),Auto(根据容器内容自动显示滚动条),scroll(显示滚动条,即使内容不超出容器范围,也会显示一个边框, ...
- mysql数据库编码问题
http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html 修改/etc/my.cnf 添加: [mysql] default-chara ...
- python 学习中遇到的问题
一.安装pip中遇到的问题. 出现错误:ImportError:DLL load failed :%1不是有效的win32应用程序 出现问题解答: 主要是由于安装的python版本和所下载的安装包版本 ...
- jquery的一些属性选择器
td:contains(Henry)选择td里面所有class为Henry的元素 .siblings()选择相同dom层次的所有其他元素,例如 <ul> <li>第一个< ...
- OPencv1.0配置vs2010(介于OPencv的经典之作。都是OPencv1.0为基础的。)
首先下载OPencv1.0 我在之前的博客中写了下载的资源http://www.cnblogs.com/xiaochige/p/5990858.html 把OPencv1.0中bin文件夹下的所有内容 ...
- 最流行的JavaScript库jQuery不再支持旧版IE
直到JQuery2.0的发布,流行的jQuery JavaScript库到了一个重要里程碑.2.0版本比前任版本在大小上缩减了12%,但是更大的新闻是,jQuery 2.0不在对IE6,7,8三个版本 ...
- css实现自适应宽度布局
1.实现左侧宽度固定,右侧全屏自适应. body{margin:0;padding:0} .wrap{ width:100%; float:left} .content{ height:300px;b ...