Tag: uicollectionview

在reloadItemsAtIndexPaths之后避免UICollectionView的animation

UICollectionView在reloadItemsAtIndexPaths被调用(淡入淡出animation)后animation的项目。 有没有办法避免这个animation? iOS 6

UICollectionViewanimation数据更改

在我的项目中,我使用UICollectionView来显示图标的网格。 用户可以通过点击一个分段的控件来改变sorting,这个控件从不同的NSSortDescriptor的核心数据中调用一个提取。 数据量总是相同的,只是以不同的部分/行结束: – (IBAction)sortSegmentedControlChanged:(id)sender { _fetchedResultsController = nil; _fetchedResultsController = [self newFetchResultsControllerForSort]; NSError *error; if (![self.fetchedResultsController performFetch:&error]) { NSLog(@"Unresolved error %@, %@", error, [error userInfo]); } [self.collectionView reloadData]; } 问题是reloadData不会animation变化,UICollectionView只是popup新的数据。 我应该跟踪更改之前和之后的单元格的indexPath,并使用[self.collectionView moveItemAtIndexPath:toIndexPath:]来执行更改的animation,或者有更好的方法吗? 我没有得到很多subclassing的collectionViews,所以任何帮助将是伟大的… 谢谢,比尔。

在UICollectionView上dynamic设置布局会导致无法解释的contentOffset更改

根据苹果公司的文档(并且在WWDC 2012上),可以dynamic地在UICollectionView上设置布局,甚至可以animation变化: 您通常在创build集合视图时指定布局对象,但也可以dynamic更改集合视图的布局。 布局对象存储在collectionViewLayout属性中。 设置这个属性可以直接更新布局,而不需要animation改变。 如果要为更改设置animation,则必须调用setCollectionViewLayout:animated:方法。 但是,在实践中,我发现UICollectionView对contentOffset进行了无法解释甚至无效的更改,导致单元格错误移动,导致该function几乎无法使用。 为了说明这个问题,我将下面的示例代码放在一起,这些代码可以附加到放入故事板的默认集合视图控制器中: #import <UIKit/UIKit.h> @interface MyCollectionViewController : UICollectionViewController @end @implementation MyCollectionViewController – (void)viewDidLoad { [super viewDidLoad]; [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"CELL"]; self.collectionView.collectionViewLayout = [[UICollectionViewFlowLayout alloc] init]; } – (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return 1; } – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { UICollectionViewCell *cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"CELL" forIndexPath:indexPath]; cell.backgroundColor = […]

UICollectionView设置列数

我刚开始学习UICollectionViews。 我想知道如果有人知道如何指定一个collectionview中的列数。 默认设置为3(iPhone /人像)。 我已经看了文档,似乎无法find一个简洁的答案。

UICollectionView当前可见的单元格索引

我在我的iPad应用程序中第一次使用UICollectionView 。 我设置了UICollectionView ,使其大小和单元大小相同,意味着一次只显示一个单元格。 问题:现在当用户滚动UICollectionView我需要知道哪个单元格可见,我必须更新其他UI元素的变化。 我没有find任何代表方法。 我怎样才能做到这一点? 码: [self.mainImageCollection setTag:MAIN_IMAGE_COLLECTION_VIEW]; [self.mainImageCollection registerClass:[InspirationMainImageCollectionCell class] forCellWithReuseIdentifier:@"cellIdentifier"]; [self.mainImageFlowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; [self.mainImageFlowLayout setMinimumInteritemSpacing:0.0f]; [self.mainImageFlowLayout setMinimumLineSpacing:0.0f]; self.mainImageFlowLayout.minimumLineSpacing = 0; [self.mainImageCollection setPagingEnabled:YES]; [self.mainImageCollection setShowsHorizontalScrollIndicator:NO]; [self.mainImageCollection setCollectionViewLayout:self.mainImageFlowLayout]; 我曾经尝试过: 由于UICollectionView符合UIScrollView ,当用户滚动以UIScrollViewDelegate方法结束时 -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 但是上面的函数里面怎么能得到UICollectionView当前可见单元UICollectionView ?

UICollectionView添加了顶部边距

我想把一个UICollectionView控件水平显示拇指(只有一行拇指)。 出于某种原因,UICollectionView向下推动44个像素,所以“0”高度实际上是“44”。 我假设它可能会增加这个空间来考虑导航栏的高度(我只是假设)。 由于我的UICollectionView只在屏幕的一部分,我不想这个边缘。 有没有办法删除它?

何时使用UICollectionView而不是UITableView?

我发现UICollectionView就像在iOS6中引入的UITableView的升级版本,但是什么时候应该selectUICollectionView而不是UITableView ? 还有使用UITableView应用程序,如果UICollectionView可以做任何事情UITableView可以做,为什么人们仍然使用UITableView ? 就表演而言,是否有区别? 谢谢!

UICollectionView自动滚动到IndexPath的单元格

在加载集合视图之前,用户在集合视图的数组中设置图像的数量。 所有的单元格都不适合在屏幕上。 我有30个单元格,只有6个在屏幕上。 问题:如何在UICollectionView的负载下自动滚动到所需图像的单元格?

如何居中alignmentUICollectionView的单元格?

我目前使用用户界面网格UICollectionView ,它工作正常。 不过,我想要启用水平滚动。 网格每页支持8个项目,当项目的总数是4时,这是项目应该如何安排水平滚动方向启用: 0 0 xx 0 0 xx 这里0 – >收集项目和x – >空单元格 有没有办法让他们中心alignment如下: x 0 0 x x 0 0 x 这样的内容看起来更干净? 下面的安排也可能是我期待的解决scheme。 0 0 0 0 xxxx

如何用FlowLayout确定UICollectionView的高度

我有一个UICollectionView与UICollectionViewFlowLayout ,我想计算其内容大小(为了通过AutoLayout调整其高度所需的intrinsicContentSize返回)。 问题是:即使我对所有的单元格有一个固定和相等的高度,我不知道在UICollectionView有多less“行”/行。 我也不能通过数据源中的项目数来确定计数,因为表示数据项的单元格的宽度是不同的,所以我在UICollectionView一行中有多less个项目。 由于在官方文档中我找不到任何关于这个主题的提示,并且Google的search引擎没有给我带来更多的帮助,所以任何帮助和想法都非常值得赞赏。