-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

0

您的第一部分代码(if /else)对于 if 和 else 具有相同的代码......您基本上是在说 if X do Y,else do Y

于 2013-05-29T12:30:16.353 回答
0

实际上他们不需要设置 UIscrollView 内容大小,因为 UICollectionView 会自动调整 contentSize。

于 2013-05-29T12:33:15.367 回答