UICollectionViewController xcode6.1 自定义Cell

本文转载至 http://blog.csdn.net/daleiwang/article/details/40423219
UICollectionViewContAutolayoutstoryboard自定义RootCollectionViewCe

虽然这个早已不是新东西了,但是之前项目中一直没有机会用,只知道跟tableView原理相同。

弄了个自定义UICollectionViewCell的小DEMO:

(1)在storyboard中拖拽一个UICollectionViewController:

(2)新建RootCollectionViewController继承自UICollectionViewController

 

  1. #import "RootCollectionViewController.h"  
  2. #import "RootCollectionViewCell.h"  
  3.   
  4. @interface RootCollectionViewController ()  
  5.   
  6. @end  
  7.   
  8. @implementation RootCollectionViewController  
  9.   
  10. - (void)viewDidLoad {  
  11.     [super viewDidLoad];  
  12.     self.clearsSelectionOnViewWillAppear = NO;  
  13. }  
  14.   
  15. - (void)didReceiveMemoryWarning {  
  16.     [super didReceiveMemoryWarning];  
  17. }  
  18.   
  19.   
  20. #pragma mark <UICollectionViewDataSource>  
  21.   
  22. - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {  
  23.     return 1;  
  24. }  
  25.   
  26.   
  27. - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {  
  28.     return 20;  
  29. }  
  30.   
  31. - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {  
  32.     static NSString * CellIdentifier = @"GradientCell";  
  33.     RootCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];  
  34.     cell.backgroundColor = [UIColor colorWithRed:((110 * indexPath.row) / 255.0) green:((220 * indexPath.row)/255.0) blue:((330 * indexPath.row)/255.0) alpha:1.0f];  
  35.     [cell.lab setText:@"xxxx"];  
  36.     [cell.frontView setBackgroundColor:[UIColor redColor]];  
  37.     return cell;  
  38. }  
  39.   
  40. #pragma mark <UICollectionViewDelegate>  
  41.   
  42.   
  43. @end  

(3)新建RootCollectionViewCell继承自UICollectionViewCell,头文件如下,自定义两个控件

 

  1. #import <UIKit/UIKit.h>  
  2.   
  3. @interface RootCollectionViewCell : UICollectionViewCell  
  4.   
  5. @property(nonatomic,weak)IBOutlet UILabel *lab;  
  6. @property(nonatomic,weak)IBOutlet UIView *frontView;  
  7.   
  8. @end  

(4)storyboard操作:

 

点击CollectionViewController,设置Class:

点击CollectionCell设置Class:

拖动一个View和lab到CollectionView上,设置约束为固定宽高上下居中:

点击左侧的CollectionCell,,将IBOutlet,连接到lab和frontView上:

设置大小及边距,当然了,xcode6以后,也可以根据不同的屏幕设置相应SizeClass下的边距:

(5)运行效果:

posted @ 2014-11-01 17:43  天牛  阅读(365)  评论(0编辑  收藏  举报