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已经能得到最真实的宽高
  • 相关阅读:
    ios开发,NSFileManager的使用
    iOS开发-常用第三方开源框架介绍(绝对够你用了)
    iOS开发常用第三方开源框架
    对佛学和个人发展的思考总结(十八)心流、非人情网络、穷人、人生机会、平衡计分卡
    php 判断字符串中包含重复相同的次数 array_count_values str_split max 函数组合使用
    存储过程一次性返回多个数据集,逻辑层与前端处理
    动态改变div背景颜色
    在asp.net mvc应用中使用vue.js
    angularjs单一页面中高频访问相同web api,出现阻塞和等待
    Windows安装配置OpenGrok
  • 原文地址:https://www.cnblogs.com/yyh123/p/3424410.html
Copyright © 2011-2022 走看看