我是Objective-c的新手,我需要做一个允许用户将壁纸下载到他的照片库的应用程序,我在“壁纸视图”上有6个可下载的壁纸,所以我应该如何开始这个?我应该在哪里存储壁纸?将它们存储在Resources文件夹中是否可行?我目前的问题是我不知道如何加载它们并将它们写入照片库。
答案 0 :(得分:3)
如果图像不可更改,您可以将它们嵌入资源文件夹中,否则您可以将它们托管在服务器上,并在每次重新启动应用时重新加载它们。
您可以通过UIButton代表他们,点击图片后,将其保存到照片库。
用于加载资源使用中嵌入的图像:
UIImage* img = [UIImage imageNamed:@"imageName.png"];
或者你可以通过互联网获取图片:
UIImage* img = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://yoursite.com/image.png"]]];
要创建带图像的按钮,请使用:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(40, 140, 240, 30);
[btn addTarget:self action:@selector(downloadImage:) forControlEvents:UIControlEventTouchUpInside];
[btn setImage:img forState:UIControlStateNormal];
[self.view addSubview:btn];
当您有图像时,可以使用以下方法将其保存到照片库:
UIImageWriteToSavedPhotosAlbum(img, nil,nil,nil);
答案 1 :(得分:1)
使用
将照片保存到库中void UIImageWriteToSavedPhotosAlbum (
UIImage *image,
id completionTarget,
SEL completionSelector,
void *contextInfo
);