UICollectionView 使用
2016-04-14 11:26
399 查看
/** 初始化UICollectionView */ UICollectionViewFlowLayout *flowLayout=[[UICollectionViewFlowLayout alloc] init]; [flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; flowLayout.minimumLineSpacing = 0; flowLayout.minimumInteritemSpacing=0; _deviceCollectionView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, kHeightPro(622)*2) collectionViewLayout:flowLayout]; //设置代理 _deviceCollectionView.delegate = self; _deviceCollectionView.dataSource = self; [self.view addSubview:_deviceCollectionView]; [_deviceCollectionView setBackgroundColor:RGBColor(0xf3, 0xf6, 0xf8)]; // Register cell classes [_deviceCollectionView registerClass:[AnbotDeviceCollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];
#pragma mark -- <UICollectionViewDataSource> - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { return 2; } - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return 2; } - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { AnbotDeviceCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath]; [cell sizeToFit]; if (!cell) { NSLog(@"无法创建CollectionViewCell时打印,自定义的cell就不可能进来了。"); } [self configureCell:cell atIndexPath:indexPath]; return cell; } - (void)configureCell:(AnbotDeviceCollectionViewCell *)cell atIndexPath:(NSIndexPath*)indexPath { int index = indexPath.row *2+ indexPath.section; cell.section = indexPath.section; [cell setEnableImage:UIResourceBundleSubDevice(imageOpenArr[index])]; [cell setDisableImage:UIResourceBundleSubDevice(imageCloseArr[index])]; // [cell setImage:UIResourceBundleSubDevice(imageOpenArr[index])]; [cell setNameText:titleArr[index]]; [cell setDeviceNum:[devCountArr[index]integerValue]]; [cell setNeedsUpdateConstraints]; [cell updateConstraintsIfNeeded]; } -(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section { return UIEdgeInsetsMake(0, 0, 0, 0); } - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { return CGSizeMake(kScreenWidth/2, collectionView.frame.size.height/2); } - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { // NSLog(@"cell #%d was selected %d", indexPath.row,indexPath.section); int index = indexPath.row *2+ indexPath.section; if ([devCountArr[index] integerValue]==0) { return; } NSPredicate *predicate = [NSPredicate predicateWithFormat:@" deviceType == %d ",index]; NSMutableArray *tempArray = [NSMutableArray arrayWithArray:deviceArr]; [tempArray filterUsingPredicate:predicate]; AnbotSingleDeviceManagerVC *singleVC = [[AnbotSingleDeviceManagerVC alloc]init]; singleVC.index = index; //indexPath.row *2+ indexPath.section; singleVC.singleDevArr = tempArray; // singleVC.devInfo = deviceArr[index]; [self.navigationController pushViewController:singleVC animated:YES]; }
相关文章推荐
- Error querying database. Cause: java.lang.NumberFormatException: For input string: "否"
- UINavigationBar
- 理解UITabBarController
- Error building Player: CommandInvokationFailure: Unable to convert classes into dex format. See the
- android studio api 23 android 6.0 requires android.permission.READ_CONTACTS or android.permiss
- 使用 Swagger UI 与 Swashbuckle 创建 RESTful Web API 帮助文件
- 使用 Swagger UI 与 Swashbuckle 创建 RESTful Web API 帮助文件
- iOS开发UI篇—iOS开发中三种简单的动画设置
- dexDebug ExecException finished with non-zero exit value 2
- [置顶] IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget
- ios UIButton属性大全
- UINavigation push 于 present到另一个页面详解
- UITextField及代理方法
- How do you build a database?
- 基于NGUI的循环滑动组件
- JSP&Servlet中request.getParameter() 和request.getAttribute() 区别
- 怎么判断UITextField 输入为…
- 判断UITextField的输入只为数字的…
- UIDatePicker的简单用法
- ios5中UIViewController addC…