UICollectionView特殊水平流 - 多个部分

Mor*_*ard 15 objective-c ipad uicollectionview uicollectionviewlayout

我有一个UICollectionView,根据设备方向使用不同.图像描述了我拥有的和我需要的东西.

是否有可能通过默认的flowlayout获得"我需要它的水平滚动"或者我是否需要制作customflowlayout(指南赞赏)或多个collectionviews?

集合流程布局

Mor*_*ard 4

我使用DateFlowLayout解决了它。奇怪的名字,但它可以通过一些配置来使用。

这是我给你的设置(我只将它用于水平方向):

- (void)layoutForOrientation:(UIInterfaceOrientation)orientation {
    bool isPortrait = UIInterfaceOrientationIsPortrait(orientation);

    self.collectionView.frame = isPortrait ? CGRectMake(0, 0, 768, 180) : CGRectMake(0, 60, 246, 595);
    self.collectionView.collectionViewLayout = isPortrait ? DateFlowLayout.new : UICollectionViewFlowLayout.new;
    self.flowLayout = ((UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout);

    self.flowLayout.scrollDirection = isPortrait ? UICollectionViewScrollDirectionHorizontal : UICollectionViewScrollDirectionVertical;
    self.flowLayout.headerReferenceSize = isPortrait ? CGSizeMake(5, 30) : CGSizeMake(246, 40); //width is margin to the left of the header - must be bigger than 0 to show headers correct.
    self.flowLayout.minimumInteritemSpacing = isPortrait ? 10 : 0;
    self.flowLayout.minimumLineSpacing = isPortrait ? 17 : 7;
    self.flowLayout.sectionInset = isPortrait ? UIEdgeInsetsMake(27, 30, 25, 0) : UIEdgeInsetsMake(0, 14, 0, 0);
    //self.flowLayout.itemSize = CGSizeMake(58, 85); //You might need this
    self.collectionView.alwaysBounceVertical = isPortrait ? NO : YES;
}
Run Code Online (Sandbox Code Playgroud)

  • 有迅捷版吗? (4认同)
  • 嘿莫滕,我知道已经有一段时间了,但有什么想法为什么我的标题粘在我的收藏视图的顶部,而不是在它的前面,定位在中间(高度方向)。谢谢! (2认同)