草庐IT

Uicollectionview

全部标签

ios - 如何更改 UICollectionView 中的滚动方向?

我在基于Storyboard的iOS应用中有一个UICollectionView。当设备处于纵向时,我希望它垂直滚动,而当它在Landscaper中时,我希望它水平滚动。在UICollectionView我可以看到scrollEnabled成员,但我看不到设置滚动方向的方法。我错过了什么吗? 最佳答案 UICollectionViewFlowLayout*flowLayout=[[UICollectionViewFlowLayoutalloc]init];[flowLayoutsetScrollDirection:UICollect

objective-c - iOS6 UICollectionView 和 UIPageControl - 如何获得可见单元格?

在研究iOS6新功能时,我收到了一个关于UICollectionView的问题。.我目前正在使用Flow布局测试它,并将滚动方向设置为水平,启用滚动和分页。我已将其大小设置为与我的自定义单元格完全相同,因此它可以一次显示一个,并且通过横向滚动它,用户将看到其他现有单元格。效果很好。现在我想添加和UIPageControl到我创建的CollectionView,因此它可以显示哪个单元格是可见的以及那里有多少个单元格。构建页面控件相当简单,定义了frame和numberOfPages。作为问号,我遇到的问题是如何获取当前在CollectionView中可见的单元格,以便它可以更改页面控件的

objective-c - iOS6 UICollectionView 和 UIPageControl - 如何获得可见单元格?

在研究iOS6新功能时,我收到了一个关于UICollectionView的问题。.我目前正在使用Flow布局测试它,并将滚动方向设置为水平,启用滚动和分页。我已将其大小设置为与我的自定义单元格完全相同,因此它可以一次显示一个,并且通过横向滚动它,用户将看到其他现有单元格。效果很好。现在我想添加和UIPageControl到我创建的CollectionView,因此它可以显示哪个单元格是可见的以及那里有多少个单元格。构建页面控件相当简单,定义了frame和numberOfPages。作为问号,我遇到的问题是如何获取当前在CollectionView中可见的单元格,以便它可以更改页面控件的

objective-c - 从一个 UICollectionViewLayout 切换到另一个时的自定义动画?

作为测试,我制作了一种布局,以垂直线显示单元格,另一种以水平布局显示单元格。当我调用[collectionViewsetCollectionViewLayout:layoutanimated:YES];时,它会非常干净地在两个位置之间进行动画处理。现在我希望让所有View在最终到达目的地之前在屏幕上进行几次旋转、扭曲和翻转(可能使用CAKeyframeAnimations),但我可以'找不到好地方挂这个。我尝试子类化UICollectionViewLayoutAttributes以包含动画属性,然后将这些动画设置在UICollectionViewCell的重写applyLayoutAt

objective-c - 从一个 UICollectionViewLayout 切换到另一个时的自定义动画?

作为测试,我制作了一种布局,以垂直线显示单元格,另一种以水平布局显示单元格。当我调用[collectionViewsetCollectionViewLayout:layoutanimated:YES];时,它会非常干净地在两个位置之间进行动画处理。现在我希望让所有View在最终到达目的地之前在屏幕上进行几次旋转、扭曲和翻转(可能使用CAKeyframeAnimations),但我可以'找不到好地方挂这个。我尝试子类化UICollectionViewLayoutAttributes以包含动画属性,然后将这些动画设置在UICollectionViewCell的重写applyLayoutAt

ios - 未调用 cellForItemAtIndexPath 但 numberOfItemsInSection 调用

这可能是重复的帖子,但我没有找到解决方案。我将UICollectionView设置为:UINib*nib=[UINibnibWithNibName:@"CollectionViewCell"bundle:[NSBundlemainBundle]];[_collectionViewregisterNib:nibforCellWithReuseIdentifier:@"bCell"];(我尝试设置委托(delegate),没有委托(delegate)等)。然后,只有-(NSInteger)collectionView:(UICollectionView*)collectionViewnum

ios - 未调用 cellForItemAtIndexPath 但 numberOfItemsInSection 调用

这可能是重复的帖子,但我没有找到解决方案。我将UICollectionView设置为:UINib*nib=[UINibnibWithNibName:@"CollectionViewCell"bundle:[NSBundlemainBundle]];[_collectionViewregisterNib:nibforCellWithReuseIdentifier:@"bCell"];(我尝试设置委托(delegate),没有委托(delegate)等)。然后,只有-(NSInteger)collectionView:(UICollectionView*)collectionViewnum

ios - 水平滚动 UICollectionView 时对齐单元格的中心

我知道有些人以前问过这个问题,但他们都是关于UITableViews或UIScrollViews的,我无法得到可接受的解决方案来为我工作。我想要的是水平滚动我的UICollectionView时的捕捉效果——就像在iOSAppStore中发生的一样。iOS9+是我的目标版本,所以在回答这个问题之前请先查看UIKit的变化。谢谢。 最佳答案 虽然我最初使用的是Objective-C,但后来我改用了Swift,原来接受的答案还不够。我最终创建了一个UICollectionViewLayout子类,它提供了最好的(imo)体验,而不是当用

ios - 水平滚动 UICollectionView 时对齐单元格的中心

我知道有些人以前问过这个问题,但他们都是关于UITableViews或UIScrollViews的,我无法得到可接受的解决方案来为我工作。我想要的是水平滚动我的UICollectionView时的捕捉效果——就像在iOSAppStore中发生的一样。iOS9+是我的目标版本,所以在回答这个问题之前请先查看UIKit的变化。谢谢。 最佳答案 虽然我最初使用的是Objective-C,但后来我改用了Swift,原来接受的答案还不够。我最终创建了一个UICollectionViewLayout子类,它提供了最好的(imo)体验,而不是当用

iphone - 在 UICollectionView 上重置滚动

我有一个水平的UICollectionView可以正常工作并滚动。当我点击一个项目时,我会更新我的数据并调用reloadData。这有效,新数据显示在UICollectionView中。问题是滚动位置没有改变,它仍在查看最后一个位置。我想将滚动重置到顶部(或者在我的情况下是左侧)。我该怎么做? 最佳答案 你想要setContentOffset:。它需要一个CGPoint作为参数,您可以使用CGPointMake将其设置为您想要的任何内容,但是如果您希望返回到集合的最开始,您可以简单地使用CGPointZero。[collection