UICollectionView和UICollectionViewController的用法总结

 1 一、UICollectionView和UICollectionViewController的用法
 2 1.新建一个xib描述UICollectionViewCell(比如DealCell.xib),设置好resuse identifier(比如deal)
 3 
 4 2.控制器继承UICollectionViewController
 5 1> 注册xib
 6 [self.collectionView registerNib:[UINib nibWithNibName:@"DealCell" bundle:nil] forCellWithReuseIdentifier:@"deal"];
 7 
 8 2> 重写init方法
 9 - (id)init
10 {
11     UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
12     // 每一个网格的尺寸
13     layout.itemSize = CGSizeMake(250, 250); 
14     // 每一行之间的间距
15     layout.minimumLineSpacing = 20; 
16     // 上下左右的间距
17     layout.sectionInset = UIEdgeInsetsMake(10, 20, 40, 80);     return [self initWithCollectionViewLayout:layout];
18 }
19 
20 3> 实现数据源方法
21 #pragma mark 每一组有多少个条目(格子)
22 - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
23 #pragma mark 每一个格子显示什么样的cell
24 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
25 
26 3.UICollectionViewFlowLayout的常见设置 
27 1> CGFloat minimumLineSpacing:每一行之间的间距
28 2> UIEdgeInsets sectionInset:上下左右周边的间距
29 3> CGSize itemSize:每一个网格的大小
30 
31 4.UICollectionView的设置
32 1> BOOL alwaysBounceVertical:永远支持垂直的弹簧效果(滚动效果,来自UIScrollView的属性)
33 
34 5.UITableViewController和UICollectionViewController的区别
35 1> 在UITableViewController中:self.tableView == self.view
36 2> 在UICollectionViewController中:self.collectionView == self.view中的一个子控件
37 
38 二、iPad中控制器view初始的width和height
39 1> 规律
40 * width 是宽高中最小的那个值
41 * height 是宽高中最大的那个值
42 
43 2> 举例(比如窗口根控制器的view,有状态栏的情况下)
44 * 横屏  width = 748,height = 1024
45 * 竖屏  width = 768,height = 1004
46 
47 三、控制器的重要方法使用
48 1.屏幕即将旋转的时候调用(控制器监控屏幕旋转)
49 - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
50 
51 2.屏幕旋转完毕的时候调用
52 - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
53 
54 3.view创建完毕的时候调用
55 - (void)viewDidLoad
56 这个方法调用时,控制器的view只是一个初始宽高(如二中所说的width和height)
57 
58 4.view即将显示的时候调用
59 - (void)viewWillAppear:(BOOL)animated
60 这个方法调用时,控制器view才能得到最真实的宽高
61 
62 5.view显示完毕的时候调用
63 - (void)viewDidAppear:(BOOL)animated
64 这个方法调用时,控制器view已经能得到最真实的宽高
原文地址:https://www.cnblogs.com/yyh123/p/3424410.html