-1

UICollectionView の行の項目数に応じて uiscrollview の contentSize を設定しようとしています。以下は私のコードです、私は試しています。

 CGFloat width = 55;

float w = width * rows;
if(w > 320.0)
{
    self.collectionView.frame = CGRectMake(0, 0, w, 290);
    CGSize scrollableSize = CGSizeMake(w, 290);
    [scrollView setContentSize:scrollableSize];
}
else
{
    self.collectionView.frame = CGRectMake(0, 0, 320, 290);
     CGSize scrollableSize = CGSizeMake(320, 290);
    [scrollView setContentSize:scrollableSize];
}
NSLog(@"w:%f", w);

行は、行内のアイテムまたはセルの数です。上記では正確な結果が得られません。適切な結果を得るために幅を正確に設定する方法がわかりません。

layout.minimumInteritemSpacing = 20;

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
return UIEdgeInsetsMake(10, 12, 10, 10);
}

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
CGSize retval =  CGSizeMake(30, 31);
return retval;
}
4

2 に答える 2