iOS 知识集(记录的形式和内容仅供自己使用)

2017-11-01  本文已影响0人  早上好先生

首先,写这篇文章的主要目的是为了巩固自己的基础知识,同时查缺补漏。

其次,这篇文章会以问答的形式展现。可以理解为面试题集??毕竟自己记录看的。


1.UIImage的两种加载形式?

1)+ (UIImage *)ImageNamed:(NSString *)name;

2)  + (UIImage *)imageWithContentsOfFile:(NSString *)path;

     - (id)initWtihContentsOfFile:(NSString *)path;

区别:方法1)是有缓存的,图片占用的内存会一直停留在程序中。方法2)中所用的图片所占的内存在一些特定操作后会被清楚。同时path参数所用的图片路径为全路径。

2.关于transform属性

利用transform属性可以修改控件的位置(位移),缩放,旋转。

创建一个transform属性

CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx,CGFloat ty);

平移。

假设使用了该属性的UIView的坐标为x、y,使用后的坐标为x+tx,y+ty。

CGAffineTransformCGAffineTransformMakeScale(CGFloat sx,CGFloat sy);

比例缩放。

假设使用了该属性的UIView的宽高为w、l,使用后的宽高为w*sx,l*sy。

CGAffineTransformMakeScale(-1.0, 1.0);//水平翻转

CGAffineTransformMakeScale(1.0,-1.0);//垂直翻转

CGAffineTransformCGAffineTransformMakeRotation(CGFloatang le);

弧度旋转。

le为旋转的弧度。而不是角度。

3.UIImage和UIImageView的父类

UIImage是图片,不是控件,所以它的父类为NSObject;

UIImageView是加载图片的控件,其父类为UIView;

4.frame,center和bounds的区别。

frame : 空间所在父控件中的位置和尺寸。以父控件的左上角为坐标原点。可以定义空间的位置(origin)和大小(size)

bounds : 控件自身的位置和尺寸。定义控件的大小

center :  控件中点的位置。定义控件的位置

5.用模型取代字典的好处

一般情况下使用字典的时候,需要手动敲入key,而且key容易写错,且在编译阶段不会有任何的警告和报错。容易造成读写数据错误。

6.property的使用策略

strong  一般是使用在OC对象上(也可以使用在UI控件上,但会有问题),NSArray, NSDictionary模型……

weak 一般使用在UI控件上,也可以使用在OC对象上

copy 一般使用在NSString,block上

assign 一般使用在基本数据类型上,枚举   结构体

上一篇 下一篇

猜你喜欢

热点阅读