私は、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);
}
しかし、私には何も表示されません。
あなたは '[self.view addSubview:collectionView]' – dan
を実行する必要がありますが、selfはすでにcollectionViewオブジェクトです。 –
私はビューコントローラのサブクラスでこれをやっていると仮定しました。カスタムコレクションビューがその内部に別のコレクションビューを作成するのはなぜですか? – dan