1.用xib描述控制器的view
- 1.为控制器创建xib文件,并以控制器的类名为命名xib
- 2.在File's Owner的view中连线xib,用xib描述控制器的view
-
3.关联File's Owner的类为控制器的类
Snip20170110_3.png - 4.添加相关控件
2.在xib中添加label的注意点(至少2个非宽高
约束,宽高随内容而定)
- 1.可以不设置label的高,则label的高由
内容
(文字,图片等)决定,但是label的宽度
一般要设置,否则无法计算行高,但是也可以在xib中设置行高 - 2.label要设置自动换行,一定要设置
lines
属性为0
- 3.设置label内容的换行
- 快捷键:
option + 回车键
, 在storyboard\xib输入\n是无法实现换行的 - 在代码中输入
\n
是可以实现换行的
- 快捷键:
- 4.设置label内容居中,要设置
Alignment
属性
3.在xib中设置imageView的注意点(至少4个约束)
- 1.可以先查看image的大小,再设置imageView控件的宽和高,再设置其他约束(共4个约束)
- 2.使用center vertically使得图片中心点对齐某个控件
- 3.常用的约束可以考虑水平居中+间隔,注意区分左对齐和与左边的间距设置的不同
- 4.复制一个控件,只会将控件的size复制出来,并不会将约束也复制出来,所以新复制出来的控件要重新设置约束
4.在xib中设置button的注意点(至少2个非宽高
约束)
- 1.设置按钮属性要分状态,如:
默认状态
default和选中状态
HighLighted - 2.设置按钮时,要选择样式:
系统样式system
或者自定义样式custom
,system样式默认文字大小是15字号,而且图片会变灰变浅,而custom样式默认文字大小是18字号,不会改变图片属性 - 3.修改button的文字和图片的排列,可以通过修改button内部文字和图片的内边距来实现,但是因为这个内边距是写死的,所以一旦按钮改变,则需要重新修改,所以我们一般采取自定义按钮来实现
- 4.自定义按钮中,在fayoutsubvious中重写子控件的布局,可以修改frame,或者逐个修改子控件的x,y,width,height
-
3.设置按钮的background属性不会改变按钮的样式,设置按钮的image属性,会自动将按钮的属性设置为custom样式
-
设置按钮的background属性
Snip20170110_7.png -
设置按钮的image属性
Snip20170110_8.png
5.调试的一些技巧
-
1.在storyboard或者xib中修改控件的名字,可以清晰看到各个控件的约束情况
Snip20170110_9.png -
2.在TabbarController中添加子控制器代码块中,调整要调试的模块控制器为第一个添加的子控制器,则可以每次调试app时,展示的第一个界面都是调试控制器
则每次打开app展示出来的界面都是要调试的关注界面:
Snip20170110_11.png- 3.在xib或者storyboard的控件中
- 如:button,label,imageView等中,是不能添加子控件的(可能是苹果不推荐使用)
- 除非是容器控件,如:view,scrollView,tableView等容器控件则可以添加子控件
- 如果一定要在非容器控件中添加子控件,则可以通过代码来添加
- 可以用UIView做为容器,分隔出不同部分进行布局,建议将背景颜色设置为clearColor
- 让容器的UIView能够随着子控件的高度改变而改变,可以在设置容器view的时候,先给予一定的高度,待所有子控件的都添加完毕以后,再设置最底部的子控件与容器view底部的间距,并删除容器view的高度即可
- 设置三个按钮等高等宽均匀的排列在屏幕上,可以选中三个按钮使用stackView,或者先确定好中间的按钮,并设置好中间按钮的高(必须)和其他约束,再选中三个按钮等宽等高顶部对齐(三个约束),其次,需要设置左边按钮左右间距为0(一个约束,辅助确定等宽这个约束),最后设置右边按钮
6.push和present控制器的区别
- push出控制器要有
导航控制器
的前提下才可以进行,而present出控制器则随时可以调出,因此和上下级业务联系
密切的推荐使用push(可以返回上一级),反之,使用present. - 另外,如果
一个功能多个地方都能用到
,而且随时
都可以调出来,可以使用present,如:登录模块
7.常用分类最好写在pch文件
8.iOS7以后修改状态栏颜色推荐使用的方法
每个控制器状态栏通过控制器的这个方法确定,从ios7以后推荐使用,默认是黑色
110689FA-FFEA-4128-98EA-058D6E72FBAA.png
9.在xib拷贝过来的空间,只有自身的一些属性,例如:宽度和高度,会被保留下来;约束是不会被拷贝下来的
10.约束中,有个centerVertically,就是指与另一个控件的y的中心水平对齐
11.btn中选择image和backgroundImage的讲究,
- backgroundImage有多大,按钮就有多大,而btn的点击范围与按钮大小相关,如果设置的是image,图片不会因为btn的大小而变形,可以扩展btn的点击范围
网友评论