知识点总结:07-xib的使用

字数 1536阅读 112

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属性
Snip20170110_4.png

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
Snip20170110_5.png
  • 3.设置按钮的background属性不会改变按钮的样式,设置按钮的image属性,会自动将按钮的属性设置为custom样式

  • 设置按钮的background属性


    Snip20170110_7.png
  • 设置按钮的image属性


    Snip20170110_8.png

5.调试的一些技巧

  • 1.在storyboard或者xib中修改控件的名字,可以清晰看到各个控件的约束情况


    Snip20170110_9.png
  • 2.在TabbarController中添加子控制器代码块中,调整要调试的模块控制器为第一个添加的子控制器,则可以每次调试app时,展示的第一个界面都是调试控制器

Snip20170110_10.png

则每次打开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的点击范围

12.模糊透明的效果一般通过图片搞定

13.文本框消掉白色的实线,用borderStyle

14.文本框的清除按钮clearButton

9F00271C-453D-4D54-B460-BC863F14E5FD.png

15.文本框限制输入的内容是数字,可以在keyboardType中修改(内容要选择default,全部都可以输入)

38D6AE28-98F7-47F8-8BF9-8DB818BA534B.png

16.还有占位文字---placeHolder

17.密码是安全文本,要勾选secure text…

18.用KVC也可以设置圆角

E5F157C1-DBF8-4E61-BFB0-CC80ADA73F76.png

19.custom字号是18,system是15

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
  • 端午假期亲们都出远门旅游了吗?反正我没有。不是因为忌惮高温的烘烤,而是被工作所困,假期三天依然要在值班中度过。 好...
  • 幽暗,涤荡火炉 没有温酒的火炉 只有,一间空空的壁橱 茶叶沏成日夜 彻骨的酸涩,不习惯变迁 夜不成寐的呜咽 早被黄...
  • 有了一点点眉目!
  • 文/二月兰 我是一只蜘蛛 带着前世的惆怅 自出生起 我就开始努力 学习奔跑 学会吐丝 学着织网 然后 等着你一天天...