8

Storyboard で UICollectionView を使用していて、UICollectionViewFlowLayout をサブクラス化しようとしていますが、うまくいかないようです。

サブクラスを作成しましたCollectionViewFlowLayout

#import "CollectionViewFlowLayout.h"

@implementation CollectionViewFlowLayout

-(id)init
{
    NSLog(@"Init of CollectionViewFlowLayout");

    if (!(self = [super init])) return nil;
    self.itemSize = CGSizeMake(250, 250);
    return self;
}

@end

Storyboard の Identity Inspector で、フロー レイアウトのクラスを変更しました。

ストーリーボードのアイデンティティ インスペクター

しかし、保存/ビルド/実行すると、itemSize が 250 に設定されず、NSLog が出力されません。

このような例では、collectionView コントローラーでレイアウトを設定できることを見てきましたが、ストーリーボードで設定する場合は必要ないと思いました。

4

1 に答える 1

12

ストーリーボードからロードされたオブジェクトはinitWithCoder:、 ではなくを使用しinitます。代わりにセットアップ コードをそこに移動するか、各イニシャライザから呼び出される共通のメソッドを用意してください。

于 2013-02-21T07:49:22.820 に答える