2016-03-19 18 views
0

私は、collectionViewを使用してリンゴのようにロックを解除するためにスワイプを作成しています。私はcollectionViewクラスでそれをやっています。ストーリーボードを使用せずにコレクションビューを作成するにはどうすればよいですか?

スーパービューと同じ2セルしか作成できないように、どのようにコレクションビュークラスをオーバーライドできるか教えてください。だから私が一方向にスクロールすると、私は他のセルを見えるようにすることができます。私はこれのようにやっています。

#import "CustomCollectionView.h" 

@implementation CustomCollectionView 


- (void)drawRect:(CGRect)rect { 
// Drawing code 
} 


- (id)initWithFrame:(CGRect)frame { 
    if (self == [super init]) { 
    if (self) { 
     [self customInit]; 
    } 
} 
return self; 
} 

- (id)initWithCoder:(NSCoder *)aDecoder { 
    self = [super initWithCoder:aDecoder]; 
    if (self) { 
    [self customInit]; 
} 
return self; 
} 



- (void)customInit { 

    UICollectionViewLayout *layout = [[UICollectionViewLayout   alloc]init]; 
UICollectionView *collectionView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, 320, 50) collectionViewLayout:layout]; 



collectionView.delegate = self; 
collectionView.dataSource = self; 
[self registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"reuseIdentifier"]; 
[self setBackgroundColor:[UIColor grayColor]]; 

} 



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



- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"reuseIdentifier" forIndexPath:indexPath]; 
cell.backgroundColor = [UIColor blueColor]; 
return cell; 
} 



-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { 
return CGSizeMake(320, 50); 
} 

しかし、私には何も表示されません。

+0

あなたは '[self.view addSubview:collectionView]' – dan

+0

を実行する必要がありますが、selfはすでにcollectionViewオブジェクトです。 –

+0

私はビューコントローラのサブクラスでこれをやっていると仮定しました。カスタムコレクションビューがその内部に別のコレクションビューを作成するのはなぜですか? – dan

答えて

0

ファイルインスペクタでデータソースとデリゲートを接続したことを確認してください。

+0

があなたのviewDidLoad() UINib * cellNibにも、この行を追加します...私は、複数のViewControllerでそれを使用していbeacause XIBを作ることができますMVC –

関連する問題