【问题标题】:Can you amend UICollectionView scrollDirection programmatically?你能以编程方式修改 UICollectionView 滚动方向吗?
【发布时间】:2014-03-17 14:59:30
【问题描述】:

我有一个使用 Storyboard 创建的 UICollectionView(因为它有相当复杂的单元格)。我想以编程方式将 scrollDirection 更改为水平(在 4 英寸屏幕上)和垂直(在 3.5 英寸屏幕上)。

我知道您可以在启动时设置 scrollDirection,但我看不到您如何从已创建的 UICollectionView 访问此属性。

有谁知道这是否可行?

【问题讨论】:

  • 您可能需要创建一个 for 循环,并在 UICollectionView 中找到您需要的 UIScrollView 并将其委托给您的视图控制器(如果您想知道此滚动何时滚动、拖动、等)。

标签: ios objective-c cocoa-touch scroll uicollectionview


【解决方案1】:

你要找的是

UICollectionViewFlowLayout

这就是你将如何使用它

UICollectionViewFlowLayout *horizontalLayout = (UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout;
horizontalLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;

[self.collectionView setCollectionViewLayout:horizontalLayout];

我假设您的 collectionView 与故事板链接为 self.collectionView

这是快速而肮脏的方式。您应该做的是创建自己的布局并继承 UICollectionViewFlowLayout 类。

可以在此处找到示例:UICollectionViewFlowLayoutExample by AshFurrow

【讨论】:

  • 嗨塞巴斯蒂安,非常感谢你的回答。这种方法的问题是我似乎丢失了由情节提要设置的 UICollectionViewFlowLayout 属性(即布局等)。有什么办法吗?
  • 我编辑了答案,希望现在对你有用。否则看看链接,因为这种方法有点脏
猜你喜欢
  • 2023-04-01
  • 2017-09-14
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
  • 1970-01-01
  • 2017-08-22
  • 2014-02-01
  • 1970-01-01
相关资源
最近更新 更多