你能以编程方式修改 UICollectionView 滚动方向吗?
Posted
技术标签:
【中文标题】你能以编程方式修改 UICollectionView 滚动方向吗?【英文标题】:Can you amend UICollectionView scrollDirection programmatically? 【发布时间】:2014-03-17 14:59:30 【问题描述】:我有一个使用 Storyboard 创建的 UICollectionView(因为它有相当复杂的单元格)。我想以编程方式将 scrollDirection 更改为水平(在 4 英寸屏幕上)和垂直(在 3.5 英寸屏幕上)。
我知道您可以在启动时设置 scrollDirection,但我看不到您如何从已创建的 UICollectionView 访问此属性。
有谁知道这是否可行?
【问题讨论】:
您可能需要创建一个 for 循环,并在 UICollectionView 中找到您需要的 UIScrollView 并将其委托给您的视图控制器(如果您想知道此滚动何时滚动、拖动、等)。 【参考方案1】:你要找的是
UICollectionViewFlowLayout
这就是你将如何使用它
UICollectionViewFlowLayout *horizontalLayout = (UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout;
horizontalLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
[self.collectionView setCollectionViewLayout:horizontalLayout];
我假设您的 collectionView 与故事板链接为 self.collectionView
这是快速而肮脏的方式。您应该做的是创建自己的布局并继承 UICollectionViewFlowLayout 类。
可以在此处找到示例:UICollectionViewFlowLayoutExample by AshFurrow
【讨论】:
嗨塞巴斯蒂安,非常感谢你的回答。这种方法的问题是我似乎丢失了由情节提要设置的 UICollectionViewFlowLayout 属性(即布局等)。有什么办法吗? 我编辑了答案,希望现在对你有用。否则看看链接,因为这种方法有点脏以上是关于你能以编程方式修改 UICollectionView 滚动方向吗?的主要内容,如果未能解决你的问题,请参考以下文章
你能以编程方式访问当前的 Heroku dyno id/name 吗?