-
控制器
- 1.什么是控制器: 任何继承于UIViewController的类, 都称之为控制器
- 2.控制器的作用: 管理UI界面(负责管理UI界面的创建和一些事件的处理)
-
IBAction
- 连线方式
- 1.从"控制器"往"Storyboard"连线
- 2.从"Storyboard"往"控制器"连线
- 3.直接在"Storyboard"中往"Storyboard"上的界面顶部连线
- 4.直接在"Storyboard"中往"Storyboard"上的工具条连线
- 5.不用先定义方法, 直接从"Storyboard"往"控制器"连线
- IBAction连线的注意点
- 1.在Storyboard中拷贝元素的时候需要注意
- 2.拷贝的同时会将以前的连线一起拷贝
- 3.一个方法可以很多个控件关联
- 4.一个控件可以和很多方法进行连线 在开发中, 一般情况下不会这样写
- 5.如果将按钮关联的方法删除, 运行之后会报一个经典错误 reason: '-[ViewController redBtnClick]: unrecognized selector sent to instance 0x7fb4aa618e50'
- 6.IBAction只能作为方法的返回值 IBAction == viod
- 连线方式
-
UI控件尺寸
- 大部分UI控件是没有默认的尺寸的, 所以看不见UIButton
- frame
- frame是以父控件的左上角为0,0
-
UIButton *btn = [[UIButton alloc] init]; btn.frame = CGRectMake(100, 100, 100, 100);
- bounds
- bounds是以自己的左上角为00, 所以一般情况下设置bounds的x/y无效,一般情况使用bounds来修改尺寸。
-
UIButton *btn = [[UIButton alloc] init]; btn.bounds = CGRectMake(0, 0, 100, 100);
- center
- 中心点就是控件宽高的交点, 宽高的一半的位置
- 一般情况下使用center来修改位置
-
UIButton *btn = [[UIButton alloc] init]; btn.center = CGPointMake(200, 200);
- viewWithTag
- viewWithTag只能查找当前控件和当前控件的子控件, 不能查找兄弟控件, 或者父控件
- 查找顺序: 1.先找自己 2.找子控件 3.找间接子控件(孙子..)
- 利用tag获取对应tag的值
- 匿名分类
- 匿名分类和分类的区别
- 1.匿名分类没有名字, 分类有名称
- 2.匿名分类不需要有对应的实现, 而分类需要有对应的实现
- 3.匿名分类可以声明属性, 也可以声明方法, 分类只能声明方法
- 注意点
- 以后开发中但是是不需要暴露给外界的属性和方法都卸载匿名分类中
- 苹果推荐我们将属性写在匿名分类中(延展/ 类扩展)
- 匿名分类和分类的区别