相冊

#import "AssetsLibrary/AssetsLibrary.h"


@interfaceBigPictureViewController()

/**圖片*/

@property(nonatomic,weak)UIImageView*imageView;

/**相冊庫*/

@property(nonatomic,strong)ALAssetsLibrary*library;

@end

@implementationBigPictureViewController

- (ALAssetsLibrary*)library

{

if(!_library) {

_library= [[ALAssetsLibraryalloc]init];

}

return_library;

}

- (IBAction)back {

[selfdismissViewControllerAnimated:YEScompletion:nil];

}

- (void)viewDidLoad {

[superviewDidLoad];

//滾動控件

UIScrollView*scrollView = [[UIScrollViewalloc]init];

scrollView.frame= [UIScreenmainScreen].bounds;

scrollView.backgroundColor= [UIColorblackColor];

scrollView.delegate=self;

[self.viewinsertSubview:scrollViewatIndex:0];

//圖片

UIImageView*imageView = [[UIImageViewalloc]init];

[imageViewsd_setImageWithURL:[NSURLURLWithString:self.topic.image1]];

[scrollViewaddSubview:imageView];

self.imageView= imageView;

//圖片的尺寸

imageView.x=0;

imageView.width=XMGScreenW;

imageView.height=self.topic.height* imageView.width/self.topic.width;

if(imageView.height>XMGScreenH) {//圖片過長

imageView.y=0;

scrollView.contentSize=CGSizeMake(0, imageView.height);

}else{//圖片居中顯示

imageView.centerY=XMGScreenH*0.5;

}

//伸縮

CGFloatmaxScale =self.topic.height/ imageView.height;

if(maxScale >1.0) {

scrollView.maximumZoomScale= maxScale;

}

}

staticNSString*constXMGGroupNameKey =@"GroupNameKey";

staticNSString*constXMGDefaultGroupName =@"XXXXXXXX";

- (NSString*)groupName

{

//先從沙盒中取得名字

NSString*groupName = [[NSUserDefaultsstandardUserDefaults]stringForKey:XMGGroupNameKey];

if(groupName ==nil) {//沙盒中沒有存儲任何文件夾的名字

groupName =XMGDefaultGroupName;

//存儲名字到沙盒中

[[NSUserDefaultsstandardUserDefaults]setObject:groupNameforKey:XMGGroupNameKey];

[[NSUserDefaultsstandardUserDefaults]synchronize];

}

returngroupName;

}

- (IBAction)save

{

//獲得文件夾的名字

__blockNSString*groupName = [selfgroupName];

// self的弱引用

XMGWeakSelf;

//圖片庫

__weakALAssetsLibrary*weakLibrary =self.library;

//創(chuàng)建文件夾

[weakLibraryaddAssetsGroupAlbumWithName:groupNameresultBlock:^(ALAssetsGroup*group) {

if(group) {//新創(chuàng)建的文件夾

//添加圖片到文件夾中

[weakSelfaddImageToGroup:group];

}else{//文件夾已經(jīng)存在

[weakLibraryenumerateGroupsWithTypes:ALAssetsGroupAllusingBlock:^(ALAssetsGroup*group,BOOL*stop) {

NSString*name = [groupvalueForProperty:ALAssetsGroupPropertyName];

if([nameisEqualToString:groupName]) {//是自己創(chuàng)建的文件夾

//添加圖片到文件夾中

[weakSelfaddImageToGroup:group];

*stop =YES;//停止遍歷

}elseif([nameisEqualToString:@"Camera Roll"]) {

//文件夾被用戶強(qiáng)制刪除了

groupName = [groupNamestringByAppendingString:@" "];

//存儲新的名字

[[NSUserDefaultsstandardUserDefaults]setObject:groupNameforKey:XMGGroupNameKey];

[[NSUserDefaultsstandardUserDefaults]synchronize];

//創(chuàng)建新的文件夾

[weakLibraryaddAssetsGroupAlbumWithName:groupNameresultBlock:^(ALAssetsGroup*group) {

//添加圖片到文件夾中

[weakSelfaddImageToGroup:group];

}failureBlock:nil];

}

}failureBlock:nil];

}

}failureBlock:nil];

}

/**

*添加一張圖片到某個文件夾中

*/

- (void)addImageToGroup:(ALAssetsGroup*)group

{

__weakALAssetsLibrary*weakLibrary =self.library;

//需要保存的圖片

CGImageRefimage =self.imageView.image.CGImage;

//添加圖片到【相機(jī)膠卷】

[weakLibrarywriteImageToSavedPhotosAlbum:imagemetadata:nilcompletionBlock:^(NSURL*assetURL,NSError*error) {

[weakLibraryassetForURL:assetURLresultBlock:^(ALAsset*asset) {

//添加一張圖片到自定義的文件夾中

[groupaddAsset:asset];

[SVProgressHUDshowSuccessWithStatus:@"保存成功!"];

}failureBlock:nil];

}];

}

- (void)getAllPhotos

{

ALAssetsLibrary*library = [[ALAssetsLibraryalloc]init];

//遍歷所有的文件夾,一個ALAssetsGroup對象就代表一個文件夾

[libraryenumerateGroupsWithTypes:ALAssetsGroupAllusingBlock:^(ALAssetsGroup*group,BOOL*stop) {

//遍歷文件夾內(nèi)的所有多媒體文件(圖片、視頻),一個ALAsset對象就代表一張圖片

[groupenumerateAssetsUsingBlock:^(ALAsset*result,NSUIntegerindex,BOOL*stop) {

//縮略圖

XMGLog(@"%@", [UIImage imageWithCGImage:result.thumbnail]);

//獲得原始圖片

//XMGLog(@"%@", [UIImage imageWithCGImage:result.defaultRepresentation.fullResolutionImage]);

}];

}failureBlock:nil];

}

//自定義照相機(jī): AVCaptureSession

//通過拍照獲得一張圖片

//UIImagePickerController *picker = [[UIImagePickerController alloc] init];

//picker.sourceType = UIImagePickerControllerSourceTypeCamera;

//[self presentViewController:picker animated:YES completion:nil];

//從相冊中挑選一張圖片

//UIImagePickerController *picker = [[UIImagePickerController alloc] init];

//picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

//[self presentViewController:picker animated:YES completion:nil];

#pragma mark -

- (UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView

{

returnself.imageView;

}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末是复,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖心包,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)坏挠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門芍躏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人降狠,你說我怎么就攤上這事对竣。” “怎么了榜配?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵否纬,是天一觀的道長。 經(jīng)常有香客問我蛋褥,道長临燃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任烙心,我火速辦了婚禮膜廊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘淫茵。我一直安慰自己爪瓜,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布匙瘪。 她就那樣靜靜地躺著铆铆,像睡著了一般蝶缀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上薄货,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天翁都,我揣著相機(jī)與錄音,去河邊找鬼菲驴。 笑死荐吵,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赊瞬。 我是一名探鬼主播先煎,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼巧涧!你這毒婦竟也來了薯蝎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤谤绳,失蹤者是張志新(化名)和其女友劉穎占锯,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缩筛,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡消略,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了瞎抛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片艺演。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖桐臊,靈堂內(nèi)的尸體忽然破棺而出胎撤,到底是詐尸還是另有隱情,我是刑警寧澤断凶,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布伤提,位于F島的核電站,受9級特大地震影響认烁,放射性物質(zhì)發(fā)生泄漏肿男。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一却嗡、第九天 我趴在偏房一處隱蔽的房頂上張望次伶。 院中可真熱鬧,春花似錦稽穆、人聲如沸冠王。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柱彻。三九已至豪娜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間哟楷,已是汗流浹背瘤载。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留卖擅,地道東北人鸣奔。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像惩阶,于是被迫代替她去往敵國和親挎狸。 傳聞我的和親對象是個殘疾皇子兢孝,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容