Objective-C 学习记录 - 9

1.结构体初始化的一种方法:以CGRect为例:

view.frame = (CGRect){{x,y},{width,height}};
view.frame = CGRectMake(x,y,width,height);


//以上两种初始化的设置方式效果完全一样

2.UIImageView的常用初始化方式,initWithFrame、initWithImage

3.UIImageView图片的加载方式:

self.imageView.image = [UIImage imageNamed:@“imageName”];
//imageNamed既可以加载Assets.xcassets中的图片也可以加载项目包中的图片。就算指向它的指针被销毁,资源也不会被从内存中释放

NSString *path = [[NSBundle mainBundle] pathForResource:@“imageName” ofType:@“png”];
self.imageView.image = [UIImage imageWithContentsOfFile:path];
//imageWithContentsOfFile只能加载项目包中的图片,不能加载Assets.xcassets中图片

Assets.xcassets在打包后变成Assets.car,所以包内的内容拿不到路径,其中的资源默认就有缓存,被调用以后不会被释放,比较适合存放经常使用的资源。
放到项目中的资源只能通过imageWithContentsOfFile的方法加载,调用后也可以被释放,适合存放不经常使用的以及大批量的资源。

4.向项目中导入文件时的选项:

Destination:Copy items if needed:决定在打包时是否将所用到的文件打入包内
Added folders:Create groups:创建虚拟目录
Create folder reference:创建真实目录

Add to targets:选择要添加到哪个项目

当导入资源时真实目录和虚拟目录的调用方式不同。项目导航栏中,黄色文件夹图标表示虚拟文件夹,其下文件在真实路径中与父级目录一致(如默认带有的Supporting Files文件夹内的文件就在项目包的根目录下),蓝色文件夹图标表示真实文件夹,访问其中的内容必须带有路径。

5.动画图片可以使用UIImageView中的startAnimating方法实现,向imageView.animationImages这个属性中输入一个类型全部为UIImage的数组,,再通过animationRepeatCount、animationDuration等属性设置播放的次数、时长等,最后调用startAnimation即可

6.优化代码时需要将一段重复代码用方法替代,可以先写一个方法将代码放进去,然后寻找其中需要改变的地方,用变量替换,最后在定义方法名中加入用到的变量

猜你喜欢

转载自blog.csdn.net/XtheEpic/article/details/81368369