zoukankan      html  css  js  c++  java
  • 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已经能得到最真实的宽高
  • 相关阅读:
    私有云是伪命题:真正的私有云 ≈ 公有云
    云计算的重新构建架构:优化迁移策略
    五个顶级的大数据架构
    Algorithm Gossip: 费式数列
    Algorithm Gossip: 河内塔
    Mysql连接报错:Unknown system variable 'language'
    ssm整合的时候出现的abstactMethodArror 解决
    java集合整理
    Oracle的序列和索引
    关于java堆栈的理解与说明
  • 原文地址:https://www.cnblogs.com/yyh123/p/3424410.html
Copyright © 2011-2022 走看看