iOS collectionView的使用
来源:互联网 发布:汕头澄海有淘宝代运营 编辑:程序博客网 时间:2024/05/17 08:55
#pragma mark - #pragma mark 创建collectionView- (UICollectionView *)collectionView { if (!_collectionView) { //确定是水平滚动,还是垂直滚动 UICollectionViewFlowLayout *flowLayout=[[UICollectionViewFlowLayout alloc] init]; [flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical]; self.collectionView=[[UICollectionView alloc] initWithFrame:CGRectMake(0, 64, width(self.view.frame), height(self.view.frame) - 64 - 60*KScDefineWidth) collectionViewLayout:flowLayout]; self.collectionView.dataSource=self; self.collectionView.delegate=self; [self.collectionView setBackgroundColor:[UIColor clearColor]]; //注册Cell,必须要有 [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"UICollectionViewCell"]; [self.view addSubview:self.collectionView]; } return _collectionView;}- (void)initRefresh { MJRefreshNormalHeader *refreshHeader = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ [self loadAfterLoginData:NO]; }]; self.collectionView.header = refreshHeader; // [self.tableView.header beginRefreshing]; MJRefreshBackNormalFooter *refreshFooter = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ [self loadAfterLoginData:YES]; }]; self.collectionView.footer = refreshFooter; [self loadAfterLoginData:NO];}#pragma mark -- UICollectionViewDataSource//定义展示的UICollectionViewCell的个数-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return self.dataSourceArray.count;}//定义展示的Section的个数-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{ return 1;}//每个UICollectionView展示的内容-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ static NSString * CellIdentifier = @"UICollectionViewCell"; UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath]; pictureModel *model = _dataSourceArray[indexPath.row]; NSString *picUrl = [NSString stringWithFormat:ImageUrlAll,model.path]; UIImageView *imageView = [[UIImageView alloc] initWithFrame:cell.bounds]; [imageView sd_setImageWithURL:[NSURL URLWithString:picUrl] placeholderImage:[UIImage imageNamed:@"moren"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { }]; UIImageView *flagImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30*KScDefineWidth, 30*KScDefineWidth)]; if ([model.status integerValue] == 0) { flagImageView.image = [UIImage imageNamed:@"pic_status_0"]; }else { if ([model.review integerValue] == 1) { flagImageView.image = [UIImage imageNamed:@"pic_status_2"]; }else { flagImageView.image = [UIImage imageNamed:@"pic_status_1"]; } } [imageView addSubview:flagImageView]; for (id subView in cell.contentView.subviews) { [subView removeFromSuperview]; } [cell.contentView addSubview:imageView]; return cell;}#pragma mark --UICollectionViewDelegateFlowLayout//定义每个Item 的大小- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{ return CGSizeMake(ImageWidth*KScDefineWidth + 9*KScDefineWidth, ImageWidth*KScDefineWidth + 9*KScDefineWidth);}//定义每个UICollectionView 的 margin-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{ return UIEdgeInsetsMake(5*KScDefineWidth, 5, 5*KScDefineWidth, 5);}#pragma mark --UICollectionViewDelegate//UICollectionView被选中时调用的方法-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{ [self.imageUrlArray removeAllObjects]; UICollectionViewCell * cell = (UICollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath]; //临时改变个颜色,看好,只是临时改变的。如果要永久改变,可以先改数据源,然后在cellForItemAtIndexPath中控制。(和UITableView差不多吧!O(∩_∩)O~) cell.backgroundColor = [UIColor greenColor]; NSLog(@"item======%ld",indexPath.item); NSLog(@"row=======%ld",indexPath.row); NSLog(@"section===%ld",indexPath.section); MHPhotoBrowserController *vc = [MHPhotoBrowserController new]; vc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; vc.currentImgIndex = (int)indexPath.row; vc.displayTopPage = YES; vc.displayDeleteBtn = YES; for (int i = 0; i < self.dataSourceArray.count; i++) { pictureModel *model = _dataSourceArray[i]; NSString *picUrl = [NSString stringWithFormat:ImageUrlAll,model.path]; [self.imageUrlArray addObject:[MHPhotoModel photoWithURL:[NSURL URLWithString:picUrl]]]; } pictureModel *model = _dataSourceArray[indexPath.row]; [[NSUserDefaults standardUserDefaults] setObject:model.status forKey:@"imageStatus"]; [[NSUserDefaults standardUserDefaults] synchronize]; [[NSUserDefaults standardUserDefaults] setObject:model.modelID forKey:@"imagePid"]; [[NSUserDefaults standardUserDefaults] synchronize]; vc.imgArray = self.imageUrlArray; [self.navigationController presentViewController:vc animated:YES completion:nil]; NSDictionary *dict =[[NSDictionary alloc] initWithObjectsAndKeys:self.dataSourceArray,@"singleItemDelete", nil]; //创建通知 NSNotification *notification =[NSNotification notificationWithName:@"singleItemDelete" object:nil userInfo:dict]; //通过通知中心发送通知 [[NSNotificationCenter defaultCenter] postNotification:notification];}- (NSMutableArray *)imageUrlArray { if (!_imageUrlArray) { self.imageUrlArray = [NSMutableArray new]; } return _imageUrlArray;}//返回这个UICollectionView是否可以被选择-(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath{ return YES;}// 设置最小行间距,也就是前一行与后一行的中间最小间隔- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section { return 5;}// 设置最小列间距,也就是左行与右一行的中间最小间隔- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section { return 5;}
1 0
- collectionView的使用iOS
- iOS collectionView的使用
- IOS学习之collectionView的使用
- iOS 使用collectionView的无限轮播图
- iOS collectionView使用
- iOS CollectionView简单使用
- iOS 分组的CollectionView
- CollectionView的使用
- CollectionView Header的使用
- iOS 6 新特新CollectionView的使用实现九宫格
- iOS 6 新特新CollectionView的使用实现九宫格
- IOS学习 collectionView 的创建
- ios collectionview 的转场效果
- iOS CollectionView
- iOS---collectionView
- ios collectionView
- iOS 使用collectionView实现无线轮播
- iOS使用CollectionView实现瀑布流
- #HDU 1698 Just a Hook 【线段树板题】
- Android TextUtils类介绍
- xcode快捷创建控件
- 数据结构与算法目录
- C#的EF中使用数据库事务和并发隔离级别
- iOS collectionView的使用
- mysqldump备份还原数据库(日常记录)
- HDU 2155 小黑的镇魂曲
- Android之Context理解
- 【BZOJ1183】[Croatian2008]Umnozak【数位DP】【质因数分解】【枚举】【记忆化搜索】
- 使用 Apache Lucene 和 Solr 4 实现下一代搜索和分析
- Babylonjs 初级教程---微软的基于webgl的H5 3D游戏引擎
- KMP算法
- [opencv]5.获取视频流并保存到本地