UICollectionview控件学习
来源:互联网 发布:mac桌面下方白条 编辑:程序博客网 时间:2024/06/11 08:06
UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类。
使用UICollectionView 必须实现UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout这三个协议。
#import <UIKit/UIKit.h>@interface ZYTMoreAppViewController : UIViewController<UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout>{ IBOutlet UICollectionView *appCollectionView; NSMutableArray *appArray;}@end
<pre name="code" class="objc"><pre name="code" class="objc">//使用NSPredicate类 筛选需要的对象-(void) loadData{ NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"AppInfo" ofType:@"plist"]; NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath]; NSArray *array = [data valueForKey:@"applist"]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"status == %@", @"0"]; NSArray *filterArray = [array filteredArrayUsingPredicate:predicate]; for (NSDictionary *dic in filterArray) { [appArray addObject:dic]; } NSLog(@"test : %@", appArray); [appCollectionView reloadData];}//定义每个UICollectionView 的大小- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{ return CGSizeMake(70, 92);}//定义每个UICollectionView 的 margin-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{ return UIEdgeInsetsMake(5, 5, 5, 5);}//定义展示的UICollectionViewCell的个数- (NSInteger) collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ NSLog(@"appArray count : %d", [appArray count]); return [appArray count];}//每个UICollectionView展示的内容- (ZYTAppCollectionCell *) collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ static NSString * CellIdentifier = @"ZYTAppCollectionCell"; ZYTAppCollectionCell * appCell = (ZYTAppCollectionCell *)[collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath]; NSDictionary *dic = [appArray objectAtIndex:indexPath.row]; [appCell.appIcon setImage:[UIImage imageNamed:[dic valueForKey:@"app_icon"]]]; [appCell.appName setText:[dic valueForKey:@"app_name"]]; return appCell;}//UICollectionView被选中时调用的方法- (void) collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{ NSDictionary *dic = [appArray objectAtIndex:indexPath.row]; SEL click = NSSelectorFromString([dic valueForKey:@"app_click"]); [self performSelector:click withObject:nil afterDelay:0.f];}
0 0
- UICollectionview控件学习
- 【控件】UICollectionView
- UICollectionView学习
- UICollectionView学习
- 多行多列控件:UICollectionView
- UICollectionView之控件瀑布流
- UICollectionView之控件瀑布流
- 29.UICollectionView初步学习
- UICollectionView 详细讲解学习
- UICollectionView的学习
- 关于UICollectionView的学习
- IOS UICollectionView学习
- iOS - UICollectionView学习
- iOS 深入学习UICollectionView
- IOS学习 6新增-UICollectionView
- ios学习笔记:UICollectionView收集
- iOS学习笔记 UICollectionView入门
- IOS瀑布流通过UICollectionView控件实现
- C#版三层实例——三大高手各显神通(实战篇2)
- 详解linux下C语言结构体对齐(内存对齐问题)
- Yahoo WEB前端优化34条原则
- coursera android版本中提取下载后的课件视频-非root手机
- 如何装多个tomcat
- UICollectionview控件学习
- Web应用的缓存设计模式
- 关于webqq再次浅谈
- 开发注意事项
- web开发中存在的安全问题及防范
- linux 命令行 前缀
- 神器VAX Patch VA_X.DLL 安装位置的问题 for VS2008 , VS2010 , VS2011
- Java性能优化策略
- SAP ABAP编程 DIALOG屏幕中下拉框