集合视图,类似于gridview之类的
2015-12-15 17:08
134 查看
events.plist
可以直接在列表中增加,也可以代码:
Cell.h 定义Cell的样式
Cell.m
Collection View 记得要重用,在Collection Resuable View 的Identifier中输入Cell,下面的代码就是重用这个标示的Cell控件
ViewController.h
ViewController.m
可以直接在列表中增加,也可以代码:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>image</key> <string>archery.gif</string> <key>name</key> <string>archery</string> </dict> <dict> <key>image</key> <string>athletics.gif</string> <key>name</key> <string>athletics</string> </dict> <dict> <key>image</key> <string>badminton.gif</string> <key>name</key> <string>badminton</string> </dict> <dict> <key>image</key> <string>basketball.gif</string> <key>name</key> <string>basketball</string> </dict> <dict> <key>image</key> <string>beach-volleyball.gif</string> <key>name</key> <string>beach-volleyball</string> </dict> <dict> <key>image</key> <string>boxing.gif</string> <key>name</key> <string>boxing</string> </dict> <dict> <key>image</key> <string>canoe-slalom.gif</string> <key>name</key> <string>canoe-slalom</string> </dict> <dict> <key>image</key> <string>canoe-sprint.gif</string> <key>name</key> <string>canoe-sprint</string> </dict> </array> </plist>
Cell.h 定义Cell的样式
#import <UIKit/UIKit.h> @interface Cell:UICollectionViewCell @property (weak, nonatomic) IBOutlet UIImageView *image; @property (weak, nonatomic) IBOutlet UILabel *label; @end
Cell.m
#import "Cell.h" @implementation Cell -(id) initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { } return self; } @end
Collection View 记得要重用,在Collection Resuable View 的Identifier中输入Cell,下面的代码就是重用这个标示的Cell控件
ViewController.h
#import <UIKit/UIKit.h> @interface ViewController : UICollectionViewController @end
ViewController.m
#import "ViewController.h" #import "Cell.h" @interface ViewController () @property (strong, nonatomic) NSArray * events; @end @implementation ViewController #pragma mark - 加载视图 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSBundle *bundle = [NSBundle mainBundle]; NSString *plistPath = [bundle pathForResource:@"events" ofType:@"plist"]; //获取属性列表文件中的全部数据 NSArray *array = [[NSArray alloc] initWithContentsOfFile:plistPath]; self.events = array; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } #pragma mark - UICollectionViewDataSource - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { return [self.events count] / 2; } - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return 2; } - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { Cell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath]; NSDictionary *event = [self.events objectAtIndex:(indexPath.section*2 + indexPath.row)]; cell.label.text = [event objectForKey:@"name"]; cell.image.image = [UIImage imageNamed:[event objectForKey:@"image"]]; return cell; } #pragma mark - UICollectionViewDelegate - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { NSDictionary *event = [self.events objectAtIndex:(indexPath.section*2 + indexPath.row)]; NSLog(@"select event name : %@", [event objectForKey:@"name"]); } @end
相关文章推荐
- 绝对好用的php图片加水印
- Java IO读写中文各种乱码问题 【转】
- python中的quopri模块
- nodejs基础 -- 事件循环
- 第十六周实践项目--排序
- android 百度地图定位与覆盖物的添加,以及他们的点击事件
- Python单例模式的4种实现方法
- 老李分享:apache日志分析及系统cpu,内存,负载情况监控 2
- TabLayout:另一种Tab的实现方式
- Graphviz 画图和例子
- shell之安装MySQL
- git 常用命令
- Linux文件权限标志uid gid
- android 传参 StringRequest 线程 实现页面页面停留
- 老李分享:apache日志分析及系统cpu,内存,负载情况监控
- 轻松学习JavaScript十八:DOM编程学习之DOM简介
- Servlet知识笔记
- canvas雪景
- BZOJ1047: [HAOI2007]理想的正方形
- Hibernate Criteria的 Criterion,Projection,Restrictions等条件设置