一、案例介绍:以集合形式展现图片,如图01
图01
二、案例步骤:
1、选择Simple View Aplication,取名cq.38.集合视图,如图02
图02
2、Main.storyboard,如图03
图03
3、events.plist,如图04,05
4、CQ38ViewController.h
#import <UIKit/UIKit.h> @interface CQ38ViewController : UICollectionViewController @property (strong,nonatomic) NSArray *events; @end
5、CQ38ViewController.m
#import "CQ38ViewController.h" #import "CQ38CollectionViewCell.h" @interface CQ38ViewController () @end @implementation CQ38ViewController - (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 { CQ38CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath]; NSDictionary *event = [self.events objectAtIndex:(indexPath.section*2 + indexPath.row)]; cell.label.text = [event objectForKey:@"name"]; cell.imageView.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