My Application Objective C Reference
Home
Foundation.framework
NSObject
UIKit.framework
NSObject
UIControl
UIViewController
UIView
AVFoundation.framework
UICollectionView Class Reference
コレクション・ビューの初期化
  • – initWithFrame:collectionViewLayout:
  • コレクション・ビューの設定
  • delegate
  • – collectionView:didSelectItemAtIndexPath:
  • dataSource
  • – collectionView:numberOfItemsInSection:
  • – numberOfSectionsInCollectionView:
  • – collectionView:cellForItemAtIndexPath:
  • コレクション・ビューを作る
  • – registerClass:forCellWithReuseIdentifier:
  • – dequeueReusableCellWithReuseIdentifier:
    forIndexPath:
  • レイアウトを変更する
  • – collectionView:layout:sizeForItemAtIndexPath:
  • – collectionView:layout:insetForSectionAtIndex:
  • リロードする
  • – reloadData
  • 概要
    集合したデータアイテムを並べて表示する。
    例)
    UICollectionViewFlowLayout *flowLayout =
     [[UICollectionViewFlowLayout alloc] init];
        
    self.collectionView = 
     [[UICollectionView alloc] initWithFrame:
      CGRectMake(originX, originY, width, height) 
       collectionViewLayout:flowLayout];
     self.collectionView.alpha = 1.0f;
     self.collectionView.dataSource = self;
     self.collectionView.delegate = self;
     self.collectionView.backgroundColor = 
      [UIColor clearColor];
     [self.view addSubview:self.collectionView];
     [self.collectionView 
      registerClass:[UICollectionViewCell class] 
       forCellWithReuseIdentifier:@"Cell"];
    
    コレクション・ビューの初期化
    - (id)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout
    フレームとレイアウトを設定したコレクション・ビューを初期化して返す。
    例)
    UICollectionViewFlowLayout *flowLayout =
     [[UICollectionViewFlowLayout alloc] init];
        
    self.collectionView = 
     [[UICollectionView alloc] initWithFrame:
      CGRectMake(originX, originY, width, height) 
       collectionViewLayout:flowLayout];
    
    コレクション・ビューの設定
    @property (nonatomic, assign) id < UICollectionViewDelegate > delegate
    コレクション・ビューのデリゲート。
    例)
    < UICollectionViewDelegateFlowLayout >
    
    self.collectionView.delegate = self;
    
    - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
    インデックスパスが選択された時にデリゲートに知らせる。
    @property (nonatomic, assign) id dataSource
    データを生成する。
    例)
    < UICollectionViewDataSource >
    
    self.collectionView.dataSource = self;
    
    - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
    セクション内のアイテムの数。
    - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
    セクションの数。
    - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
    アイテムと対のセルのデータソース。
    例)
    - (UICollectionViewCell *)collectionView:
     (UICollectionView *)collectionView 
      cellForItemAtIndexPath:(NSIndexPath *)indexPath
     {
       UICollectionViewCell *cell = 
       [collectionView 
        dequeueReusableCellWithReuseIdentifier:
        @"Cell" forIndexPath:indexPath];
       
       { 
           省略 
                 }
       
       return cell;
     }
    
    - (id)dequeueReusableCellWithReuseIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath*)indexPath
    インデックスパスに位置した再利用セルを返す。
    UICollectionViewCell * cell = 
     [collectionView 
      dequeueReusableCellWithReuseIdentifier:
       @"Cell" forIndexPath:indexPath];
    
    コレクション・ビューを作る
    - (void)registerClass:(Class)cellClass forCellWithReuseIdentifier:(NSString *)identifier
    セルのクラスを登録する。
    例)
    [self.collectionView registerClass:
     [UICollectionViewCell class] 
      forCellWithReuseIdentifier:@"Cell"];
    
    レイアウトを変更する
    - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
    セルのサイズを設定する。
    return CGSizeMake(cellWidth, cellHeight);
    
    - (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
    特定のセクションのコンテンツの境界を設定する
    例)
    return UIEdgeInsetsMake
     (originX, originY, distancX, distanceY);
    
    リロードする
    - (void)reloadData
    データをリロードする。
    例)
    [self.collectionView reloadData];
    
    参考:UICollectionView Class Reference
    Site Map Contact Us
    Copyright 2012 iBeginners All rights reserved.