iPhoneの画面サイズに関係なく、行内に2つのセルしか表示しません。 Like、 ストーリーボードを使用してCollectionView内に複数の行だけを表示する
私のストーリーボードには、制約によって接続されたUICollectionView
が含まれています。私は6、5S以下でこれを実行すると
UICollectionView
ためのストーリーボードの設定は、今、
である、唯一の1つのセルが行に表示されます。私が使用したのだコードは、私が
- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout *)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
CGSize sizes;
CGSize result = [[UIScreen mainScreen] bounds].size;
NSLog(@"%f",result.height);
if(result.height == 480)
{
//Load 3.5 inch xib
sizes =CGSizeMake(170.f, 170.f);
NSLog(@"3gs");
}
else if(result.height == 568)
{
//Load 4 inch xib
sizes =CGSizeMake(130.f, 130.f);
NSLog(@"5s");
}
else if(result.height == 667.000000)
{
//Load 4.7 inch xib
sizes =CGSizeMake(160.f, 160.f);
NSLog(@"6");
}
else
{
NSLog(@"else");
sizes =CGSizeMake(170.f, 165.f);
}
return sizes;
}
、画面サイズを検出し、コードを使用してプログラムの適切なセルサイズを割り当ててみました。しかし、私はまた、これは正しい方法ではないことを知っている、
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return [categoryImages count];
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
homePageCells *cell = (homePageCells *)[collectionView dequeueReusableCellWithReuseIdentifier:@"cells" forIndexPath:indexPath];
cell.categoryName.text = [categoryNames objectAtIndex:indexPath.row];
return cell;
}
ですですから、これを処理する正しい方法を教えてください。
私の一日を保存していただきありがとうございます。私はとてもばかげているので、私はこの単純な解決策についても考えていませんでした。どうもありがとう! –
この回答は本当に私を助けます...ユーザーは要件ごとにパッドを変更することができます... –
これは本当に役立ちます。回答とあなたが提起した質問をありがとう。 –