1 image和imageView的区别
- image是图片(照片).
- imageView是放图片的控件(相框).
2 创建控件显示到view上的标准步骤
- 创建对象.
- 设置内容.
- 设置大小.
- addsubview
3 CGRectOffset函数的含义
待补充
4 小飞机-监听四个按钮的点击事件(代码)
-(void)addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
三个参数的含义:
- 某个继承UIControl的控件在controlEvents事件被触发后target对象执行action方法.
5 小飞机-实现移动功能
- 当复用代码的时候,如果有涉及到不一样的东西(offset,图片名字,tag)都需要对这个复用代码的方法添加参数.
- 如果在A方法中需要使用B方法中创建的某个对象或变量,如果拿不到,那么就应该定义一个全局的属性,把B方法中创建完成的对象赋值给全局属性.
6 通过center修改位置
- center只能用来修改位置
- center是CGPoint类型,是当前控件中心点到父控件“父视图”的左上角
7 通过frame修改大小
- 通过frame修改大小时左上角原点不动
8 通过bounds修改大小
- bounds 和 frame 都是CGRect的类型
- bounds 默认的原点是 0,0
- 通过bounds修改大小时中心点不动
小结:
center只能修改位置,bounds只能修改大小,frame既能修改位置也能修改大小*
9 transform的用法
9. 1修改位置(平移)
CGAffineTransformMakeTranslation(**X偏移量**, **Y偏移量**);
CGAffineTransformTranslate(**在某个transform的基础上-一般为自身**, **X偏移量**, **Y偏移量**);
9. 2通过transform修改大小(缩放)
CGAffineTransformMakeScale(**宽缩放的倍数**, **高缩放的倍数**);
CGAffineTransformScale(**在某个transform的基础上-一般为自身**, **宽缩放的倍数**, **高缩放的倍数**);
9. 3通过transform进行旋转(旋转)
CGAffineTransformMakeRotation(**旋转的弧度**);
CGAffineTransformRotate(**在某个transform的基础上-一般为自身**, **旋转的弧度**);
9. 4恢复transform形变
- 在发生形变的时候苹果推荐使用transform.
- 形变的时候frame发生变化,bounds不发生变化.
self.imageView.transform = CGAffineTransformIdentity;
10添加和删除视图以及所有子视图
- 如何删除某个子视图?
- removeFromSuperview.
- 如何获取当前视图的所有子视图?
- subviews.
- isKindOfClass 和 isMemberOfClass 的区别?
- kind 是这个类型或这个类型的子类.
- member 只判断这个类型.
11 关于frame和bounds
- frame 是一个以父视图为坐标系的位置
- bounds 是一个以自身为坐标系的位置
- 如果改变了bounds的x,y 会影响子控件的显示位置
12 头尾式动画(了解)
//- 准备开始动画
[UIView beginAnimations:nil context:nil];
//- 设置时间
[UIView setAnimationDuration:5];
提交动画(真正开始做动画)
[UIView commitAnimations];
13 块动画
+(void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^__nullable)(BOOL finished))completion;
+(void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations;
+(void)animateWithDuration:(NSTimeInterval)**duration** delay:(NSTimeInterval)**delay** usingSpringWithDamping:(CGFloat)**dampingRatio** initialSpringVelocity:(CGFloat)**velocity** options:(UIViewAnimationOptions)**options** animations:(void (^)(void))**animations** completion:(void (^__nullable)(BOOL finished))**completion**;
- duration : 动画时间
- delay : 延迟时间
- dampingRatio : 阻尼系数(弹性) 越小越弹
- velocity : 速率
- options : 选项
- animations : 做动画的代码块
- completion : 动画完成的代码块 "回调"
14 代码如何调用size to fit
[UIView sizeToFit]
15 控制位置添加view
//- 在siblingSubview下面添加view
-(void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;
//- 在siblingSubview上面添加view
-(void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;