控制器
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 == viodUI控件尺寸
大部分UI控件是没有默认的尺寸的, 所以看不见UIButtonframeframe是以父控件的左上角为0,0UIButton *btn = [[UIButton alloc] init];
btn.frame = CGRectMake(100,100,100,100);
boundsbounds是以自己的左上角为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);
viewWithTagviewWithTag只能查找当前控件和当前控件的子控件, 不能查找兄弟控件, 或者父控件查找顺序: 1.先找自己 2.找子控件 3.找间接子控件(孙子..)利用tag获取对应tag的值匿名分类匿名分类和分类的区别1.匿名分类没有名字, 分类有名称2.匿名分类不需要有对应的实现, 而分类需要有对应的实现3.匿名分类可以声明属性, 也可以声明方法, 分类只能声明方法注意点以后开发中但是是不需要暴露给外界的属性和方法都卸载匿名分类中苹果推荐我们将属性写在匿名分类中(延展/ 类扩展)