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已经能得到最真实的宽高