GiGaMaskTime/GIGA/Common/Views/SJPhotoPicker/Controller/SJPhotoAlbumsController.m

136 lines
4.1 KiB
Objective-C
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// SJPhotoAlbumsController.m
// SJPhotoPickerDemo
//
// Created by Jaesun on 16/8/22.
// Copyright © 2016年 S.J. All rights reserved.
//
#import "SJPhotoAlbumsController.h"
#import "SJPhotoPickerMacro.h"
#import "SJPhotoAlbumCell.h"
#import "SJPickPhotoController.h"
#import "SJPhotoPickerManager.h"
#import "SJAlbumModel.h"
@interface SJPhotoAlbumsController ()<UITableViewDelegate,UITableViewDataSource>
@property (nonatomic,strong) UITableView *tableView;
/**
* 相册数组
*/
@property (nonatomic, strong) NSMutableArray *albumArray;
@end
static NSString *ID_SJPhotoAlbumCell = @"sJPhotoAlbumCell";
@implementation SJPhotoAlbumsController
- (void)viewDidLoad {
[super viewDidLoad];
[self setupDatas];
[self setupViews];
SJPickPhotoController *vc = [[SJPickPhotoController alloc] init];
SJAlbumModel *model = [[SJAlbumModel alloc] init];
model = self.albumArray[0];
vc.assetResult = model.assetResult;
[self.navigationController pushViewController:vc animated:NO];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
#pragma mark 数据初始化
- (void)setupDatas {
[[SJPhotoPickerManager shareSJPhotoPickerManager] requestAlbumsWithType:PHAssetCollectionTypeSmartAlbum albumResult:^(NSArray *albumArray) {
self.albumArray = [albumArray mutableCopy];
}];
[self.tableView reloadData];
}
#pragma mark 视图初始化
- (void)setupViews {
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:(UIBarButtonItemStylePlain) target:self action:@selector(rightBarBtnAction:)];
// tableView
{
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_W,SCREEN_H) style:(UITableViewStyleGrouped)];
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self.tableView registerClass:[SJPhotoAlbumCell class] forCellReuseIdentifier:ID_SJPhotoAlbumCell];
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.tableView];
}
}
#pragma mark- UITableViewDelegate DataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.albumArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
SJPhotoAlbumCell *cell = [tableView dequeueReusableCellWithIdentifier:ID_SJPhotoAlbumCell forIndexPath:indexPath];
if (!cell) {
cell = [[SJPhotoAlbumCell alloc] initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:ID_SJPhotoAlbumCell];
}
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
SJAlbumModel *model = self.albumArray[indexPath.row];
cell.title = [NSString stringWithFormat:@"%@%lu",model.title,model.assetResult.count];
[[SJPhotoPickerManager shareSJPhotoPickerManager] requestImageForPHAsset:model.assetResult[0] targetSize:CGSizeMake(55, 55) imageResult:^(UIImage *image) {
cell.img = image;
}];
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 55;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 5.0f;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return 0.01f;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
SJPickPhotoController *vc = [[SJPickPhotoController alloc] init];
SJAlbumModel *model = self.albumArray[indexPath.row];
vc.assetResult = model.assetResult;
vc.title = model.title;
[self.navigationController pushViewController:vc animated:YES];
}
- (void)rightBarBtnAction:(UIBarButtonItem *)sender {
[self.navigationController dismissViewControllerAnimated:YES completion:nil];
}
@end