1、为视图添加辅助线
搞设计的一般都知道辅助线是多么重要,我们在为视图布局时也可以为视图添加辅助线,方便我们布局时更加准确
添加
:双击某个View,按下shift
+Command
+-
添加横向辅助线,shift
+Command
+|
添加纵向辅助线,添加的位置都是左右/上下
居中的
移动
:光标移动到线上时会出现可拖动的按钮,按住左右/上下
拖动到想要的位置,拖动时可以看到辅助线线距离视图左右/上下的距离
删除
:方式也很简单,与删除断点方式一样,快速拖动到视图看不见的地方即可删除
2、可视化坐标距离
IB最烦人的问题就是对齐。用代码的时候我们可以明确地指定x,y坐标,但是换到IB的时候我们更多的时候是靠拖拽UIView来布局。比如需要三个间隔相同的label,除了用强大的肉眼来估测距离是否相等以外,难道只能乖乖分别选中三个label,记下它们的坐标然后打开计算器来做加减法么?
显然不要那么笨,试试看选中一个label,然后按住option键并将鼠标移动到其他label上试试?你可以发现view之间的距离都以很容易理解的方式显示出来了。不仅是同层次的view,被选中view与其他层次的view之间的距离关系也可以同样显示。
选择之后效果与下文添加辅助线示例图类似
3、将多个view视图合并到一个视图层级
有时候添加了多个控件,而且千辛万苦终于调整好了对齐,间距
发现要将这些控件放在一个父类视图中方便操作,最直观地,拖动一个view
到面板上,选中这些控件,拖拽到这个view
上,悲剧就发生了,难道只能再次睁大双眼,一个个对齐,调整么
显然不用,选中这些控件,选择菜单栏上 Editor->Embed in->View/Scroll view
最终控件还是按照原来样式排练在一个view上
同样,要将其从父类view上移到另一个视图,选择上图中Editor->Unembed
就可以了
4、出现问题:Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x687ef50> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key datePicker.'
解决方案:
要检查这一问题,可以从两个方面入手。
第一种出错的原因可能是错误的IBOutlet连接,即xib中定义了某个IBOutlet,但是在对应的头文件中,该IBOutlet已经被修改或删除。要检查这一问题,可以打开xib文件,在File's Owner上点击右键,然后在弹出的窗口中检查是否有“惊叹号”提示的IBOutlet连接,基本上可以找到问题所在。
第二种出错的原因可能是在xib文件中没有正确指定对象的类。要检查这一问题,可以打开xib文件,查看自定义视图控制器或者视图的Custom Class是否定义正确即可。
6、xib的使用参见http://www.cnblogs.com/wendingding/p/3750378.html