派生元: UIView
適合: UIGestureRecognizerDelegate
定義: IGGridViewCell.h

概要

IGGridViewCellBase は、IGGridView のすべてのセルの基本クラスです。Section、Row、および Column の座標系 (IGCellPath) にマップするビジュアルです。

IGGridView のセルを継承し、カスタマイズするためにデザインされます。そのため、適切なセルから派生します。たとえば、標準データ セルは、IGGridViewCell から派生する必要があります。

        @interface ButtonCell : IGGridViewCell
        {
            UIButton* _button;
        }
        @end

セルに表示するビューを初期化し、セルが初期化されたときにサブビューとしてセルに追加します。

        -(id)init
        {
            self = [super init];
            if(self)
            {
                _button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
                [_button setTitle:@"Click Me" forState:UIControlStateNormal];
                [self.view addSubview:button];
            }
            return self;
        }

setupSize メソッドをオーバーライドします。このメソッドを使用すると、サブビューのフレームを設定できます。

        -(void)setupSize:(CGSize)size
        {
            _button.frame = CGRectMake(0, 0, size.width, size.height);
        }

セルがグリッド ビューに追加されたか、削除されたときにセットアップまたはクリーンアップする必要がある場合、セルの cellAttached および cellDetached メソッドをオーバーライドできます。

        -(void)cellAttached
        {
            [_button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
        }

        -(void)cellDetached
        {
            [_button removeTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
        }

すべてのセルはカスタム ジェスチャの使用をサポートします。たとえば、セルにダブル タップ ジェスチャを追加するには、最初にすべてのセル、または特定のセルに追加するかどうかを決定する必要があります。特定のセルのみに追加するには、registerTemporaryGestures: セレクターを使用します。セルがビューから出たとき、ジェスチャが削除されます。ただし、すべてのセルにジェスチャを追加するには、registerGestures: セレクターを使用します。ジェスチャに適用するセルを決定し、ジェスチャを作成してから配列としてセレクターに渡します。その後、セルはジェスチャをアタッチします。

タスク

セル オブジェクトの初期化

  • – initWithReuseIdentifier:

    指定した再使用識別子を持つセル オブジェクトを初期化して返します。

  •   reuseIdentifier

    内部のリサイクル エンジンによって再使用を決定するためにグリッド ビューに使用される文字列 (読み取り専用)。

    プロパティ

カスタム ジェスチャ

プロテクト メンバー

  •   contentInset

    セルのコンテンツのインセット。

    プロパティ
  • – setupSize:

    コンテンツのサイズをセットアップすることをセルに通知します。

  • – cellDetached

    グリッド ビューによって使用されていないことをセルに通知します。

  • – cellAttached

    グリッド ビューによって使用が開始されたことをセルに通知します。

  •   path プロパティ
  •   gridView プロパティ

プロパティ

contentInset

セルのコンテンツのインセット。

@property (nonatomic, assign) UIEdgeInsets contentInset

注記

このプロパティは直接設定しません。グリッド ビューはこのプロパティを cellContentInset プロパティに基づいて設定します。

定義:

IGGridViewCell.h

gridView

@property (nonatomic, readonly) IGGridView *gridView

path

@property (nonatomic, readonly) IGCellPath *path

reuseIdentifier

内部のリサイクル エンジンによって再使用を決定するためにグリッド ビューに使用される文字列 (読み取り専用)。

@property (nonatomic, readonly, copy) NSString *reuseIdentifier

注記

このプロパティは、セルが initWithReuseIdentifier: セレクターによって初期化された場合のみに設定できます。

定義:

IGGridViewCell.h

インスタンス メソッド

cellAttached

グリッド ビューによって使用が開始されたことをセルに通知します。

- (void)cellAttached

注記

このメソッドを直接呼び出しません。コンテンツを表示するための必要なことを設定するために派生クラスで使用されます。

定義:

IGGridViewCell.h

cellDetached

グリッド ビューによって使用されていないことをセルに通知します。

- (void)cellDetached

注記

このメソッドを直接呼び出しません。セルが使用されていないときに必要なクリーンアップを実行するために派生クラスで使用されます。

定義:

IGGridViewCell.h

initWithReuseIdentifier:

指定した再使用識別子を持つセル オブジェクトを初期化して返します。

- (id)initWithReuseIdentifier:(NSString *)identifier

パラメーター

identifier

リサイクルのために使用される識別子を指定する文字列。

戻り値

初期化した IGGridViewCellBase オブジェクトを返します。オブジェクトが正しく初期化されなかった場合は nil。

注記

作成したときに、セルの再使用識別子を指定する必要があります。その後、識別子を変更できません。

定義:

IGGridViewCell.h

registerGestures:

セルに UIGestureRecognizer オブジェクトを適用します。

- (void)registerGestures:(NSArray *)gestures

パラメーター

gestures

UIGestureRecognizer オブジェクトの配列。

注記

ジェスチャの配列をセルに適用します。unregisterGestures セレクターが呼び出されるまで、ジェスチャがセルに適用されます。このメソッドは、セルが最初に作成されたか、初期化されたときに使用します。

定義:

IGGridViewCell.h

registerTemporaryGestures:

セルに UIGestureRecognizer オブジェクトを適用します。

- (void)registerTemporaryGestures:(NSArray *)gestures

パラメーター

gestures

UIGestureRecognizer オブジェクトの配列。

注記

ジェスチャの配列をセルに適用します。ジェスチャはビューにある間セルに適用されます。セルがビューから出るとジェスチャは解除されます。セルがビューに入るときに、ジェスチャを再び追加できます。

定義:

IGGridViewCell.h

setupSize:

コンテンツのサイズをセットアップすることをセルに通知します。

- (void)setupSize:(CGSize)size

パラメーター

size

セル ビューのサイズ。

注記

このメソッドを直接呼び出しません。派生クラスで使用されます。セルのコンテンツのフレームを設定し、配置するために使用されます。

定義:

IGGridViewCell.h

unregisterGestures

registerGestures: セレクターによって指定したジェスチャをすべて登録解除します。

- (void)unregisterGestures

定義:

IGGridViewCell.h