• uicollectionView


    http://zyc-to.blog.163.com/blog/static/1715240020140131946702/

    http://blog.csdn.net/ljh910329/article/details/42421923

    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        
     
        self.view.backgroundColor = UIColor.greenColor;

        static NSString * CellIdentifier = @"GradientCell";
        
        
        UICollectionViewFlowLayout *flowLayout=[[UICollectionViewFlowLayout alloc] init];
        [flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
        
        _collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(10, 30, 300, 300) collectionViewLayout:flowLayout];
        
        _collectionView.backgroundColor = [UIColor whiteColor];
        [_collectionView registerClass:[JZLImageLabelCollectionViewCell class] forCellWithReuseIdentifier:CellIdentifier];
        
        [_collectionView registerClass:[JZLCollectionHeaderView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"header"];
        
        _collectionView.delegate = self;
        _collectionView.dataSource = self;
        
        [self.view addSubview:_collectionView];
        
    }


    #pragma mark - UICollectionViewDataSource Methods

    - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
    {
        return 3;
    }

    - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
    {
        return 16;
    }

    - (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
    {
        UICollectionReusableView *reusableView = nil;
        
        if (kind == UICollectionElementKindSectionHeader) {
            // 定制头部视图的内容
            
            JZLCollectionHeaderView *headerV = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"header" forIndexPath:indexPath];

            headerV.titleLable.text = @"-----头-----";
            reusableView = headerV;
        }
        
        return reusableView;
    }

    // The cell that is returned must be retrieved from a call to -dequeueReusableCellWithReuseIdentifier:forIndexPath:
    - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString * CellIdentifier = @"GradientCell";
        
        JZLImageLabelCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
        
    //    cell.backgroundColor = [UIColor colorWithRed:((10 * indexPath.row) / 255.0) green:((20 * indexPath.row)/255.0) blue:((30 * indexPath.row)/255.0) alpha:1.0f];
        

        [cell.imageView setImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%ld", (long)indexPath.row] ofType:@"png"]]];
        
        cell.label.text = [NSString stringWithFormat:@"{%ld,%ld}",(long)indexPath.section, (long)indexPath.row];
        
        
        return cell;
    }

    #pragma mark --UICollectionViewDelegateFlowLayout Methods

    //设置顶部的大小
    -(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section{
        
        CGSize size={collectionView.frame.size.width,50};
        
        return size;
        
    }

    // 定义每个UICollectionView 的 margin
    -(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
    {
        CGFloat edgeFloat = 10;
        return UIEdgeInsetsMake(edgeFloat, edgeFloat, edgeFloat, edgeFloat);
    }

    // 定义每个UICollectionView 的大小
    - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
    {
        return CGSizeMake((collectionView.frame.size.width - 80) / 4.0, (collectionView.frame.size.width - 80) / 4.0);
    }

    - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
    {

        return 10.0;
    }

    - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
    {
        return 10;
    }

    #pragma mark - UICollectionViewDelegate Methods

    - (BOOL)collectionView:(UICollectionView *)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath *)indexPath
    {
        return YES;
    }

    // UICollectionView被选中时调用的方法
    -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
    {
        UICollectionViewCell * cell = (UICollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath];
    //    cell.backgroundColor = [UIColor whiteColor];
        
        [collectionView deselectItemAtIndexPath:indexPath animated:YES];
        
        NSLog(@"%@", indexPath);
    }

    // 返回这个UICollectionView是否可以被选择
    -(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath
    {
        return YES;
    }

    // 头视图

    #import <UIKit/UIKit.h>

    @interface JZLCollectionHeaderView : UICollectionReusableView

    @property (nonatomic, strong) UILabel *titleLable;

    @end

    // cell样式

    #import <UIKit/UIKit.h>

    @interface JZLImageLabelCollectionViewCell : UICollectionViewCell

    @property (nonatomic, strong) UIImageView *imageView;

    @property (nonatomic, strong) UILabel *label;

    @end

  • 相关阅读:
    【转载】opencvVS2019配置方法
    windows.h头文件中改变光标位置的函数——SetConsoleCursorPosition
    五行代码解决猴子选大王问题
    AtCoder Beginner Contest 192
    ACM做题注意事项
    数据库部分重点
    数据库7-11章期末复习
    数据库4-6章期末复习
    数据库1-3章期末复习
    ICPC Central Russia Regional Contest (CRRC 19)
  • 原文地址:https://www.cnblogs.com/jzlblog/p/4365405.html
Copyright © 2020-2023  润新知