沙盒 : IOS给每一个App分配一定的独立的存储空间
//获取沙盒路径
NSString *path = NSHomeDirectory();
如上图所示的文件夹,即为沙盒.沙盒空间彼此独立,数据私有
异步:可以同时进行多个事件的进程(非阻塞).
异步事件模型:程序无法知道用户何时出发应用的监听机制,用户一旦触发,
应用立即做出响应.
UIButton : (UIControl : UIView)
+ (id)buttonWithType:(UIButtonType)buttonType;
- (void)setFrame:(CGRect)rect;
- (void)setTitle:(NSString )title forState:UIControlState)state;
// default is nil. title is assumed to be single line
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
//target 添加事件的对象
//action 添加事件的响应方法
//controlEvents 事件的类型
//SEL类型:IOS系统会给每一个方法分配一个唯一的id,方法名一样,id也一样;
//@selector(click) 方法选择器,将方法名click转化为id,类似C中的函数指针
ControlEvents & ControlState
ControlEvents未触发,ControlState为normal状态,当ControlEvents 触发时,ControlState才会发生改变.
btn.tag = (NSInteger)tag;//给btn按钮设置一个标签
同步:一个事件的进程未完成,不能进行下一个事件的进程(阻塞).
UIImage : UIObject
UIImageView : UIView
UIImage 图片数据的抽象类
UIImageView 展示UIImage的类,用于存放图片信息的容器.
Method 1:通过文件名加载图片
//从沙盒中读取图片
UIImage *image = [UIImage imageNamed:@"1.png"];
//实例化一个存放图片的UIImageView容器
//UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(30, 250, 100, 100)];
//---------------------
//图片容器自适应 防止图片失真
UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectZero];
CGSize size = image.size;
[imgView setFrame:CGRectMake(200, 250, size.width, size.height)];
//加载图片数据到图片容器
[imgView setImage:image];
[self.window addSubview:imgView];
[imgView release];
imgView = nil;
Method 2:使用二进制数据流加载图片
//获取沙盒中文件的路径
NSString *path = [[NSBundlemainBundle] pathForResource:@"2"ofType:@"png"];
//获取图片文件的二进制数据流对象
NSData *imgData = [NSData dataWithContentsOfFile:path];
//将图片的二进制数据转化为UIImage
UIImage *image1 = [UIImage imageWithData:imgData];
CGSize size1 = image1.size;
UIImageView *imgView1 = [[UIImageView alloc]initWithFrame:CGRectMake(100, 250, size1.width, size1.height)];
[imgView1 setImage:image1];
[self.window addSubview:imgView1];
[imgView1 release];
imgView1 = nil;
从代码优化的角度,使用 + (UIImage *)imageWithName:(NSString *)filePath 会占用系统的缓存空间,所以在加载图片的时候,推荐使用
+ (UIImage *)imageWithData : (NSData *)data 来加载图片.