Tag: uicollectionview

UICollectionView布局问题

我正在使用stream布局使用UICollectionView 。 我做了一个自定义的UICollectionViewCell相同。 但是在运行这个项目时,控制台一直在抛出这个错误, UICollectionViewFlowLayout的行为没有定义,因为:项目的高度必须小于UICollectionView的高度减去顶部和底部的值。 我已经确定单元格的大小是正确的 有没有人能够解决这个问题。 提前致谢。 问候Nitesh

UICollectionView:animation单元大小更改select

我想要做的是改变一个UICollectionViewCell的大小,并为单元格被选中时的animation改变。 我已经设法通过在cellView collectionView: didSelectItemAtIndexPath:select一个单元格,然后在我的UICollectionView上调用reloadData来显示选定单元格的大小。 尽pipe如此,这一切都发生了,我不知道如何让这个变化的大小animation。 有任何想法吗? 我已经select了Animate uicollectionview单元格 ,但答案是对于我而言没有具体说明,我还没有弄清楚它是否也可以帮助我。

在水平分页滚动视图中UICollectionViewalignment逻辑丢失

我有一个UICollectionView ,它工作正常,直到我开始滚动。 这里有一些照片第一: 正如你所看到的那样很好。 当我开始滚动(启用分页)第一个有点偏离屏幕: 这就是问题。 本来我的观点有3个意见,我想滚动和只显示3个意见。 但是当它滚动(启用分页)时,它隐藏了第一个视图的一点点,并显示下一个页面的下一个第一个视图的一点点。 这里是一个video,因为它很难解释: 问题的video(Dropbox) 这是我的UICollectionView设置的图片: 如果有人可以帮助,这将是非常好的!

dynamic大小UICollectionView单元格

1)我怎样才能实现如图所示与UICollectionView ? 2)我试过-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath方法&传递不同的大小,但它留下单元格之间的空间。 我可以清空这些空间吗? 我想为每个细胞不同的高度和宽度 电stream输出: 。

UICollectionView添加UICollectionCell

当我尝试把UICollectionCell UICollectionView Interface Builder中的UICollectionView中时,我不能把它放在原因不明的地方。 单元格将不添加到UICollectionView工具栏 我在用: iOS SDK 6.0 XCode 4.5.1 我不使用Storyboard

UICollectionView声明错误陈旧的数据

在试图从我的集合视图中卸载一批图像,然后将其replace为另一批的过程中,我遇到了一个错误,其中根据原始或后续图像组是否比预期replace更多或更less,说: *** Assertion failure in -[UICollectionViewData validateLayoutInRect:], /SourceCache/UIKit_Sim/UIKit-2891.1/UICollectionViewData.m:341 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UICollectionView recieved layout attributes for a cell with an index path that does not exist: <NSIndexPath: 0xb141c60> {length = 2, path = 0 – 2} 在这种情况下,图像计数的现有列表是5,新的图像列表计数是2.所以,当它到了第三个图像 – 发生exception – 表示UI CollectionViewDataDelegate不知道数据stream中的变化。 有关如何确保新图像将被UICollectionView引用的任何build议? 当然,我已经叫'reloadData'… 谢谢

UICollectionView声明失败

我得到这个错误在UICollectionView执行insertItemsAtIndexPaths 断言在以下失败: -[UICollectionViewData indexPathForItemAtGlobalIndex:], /SourceCache/UIKit/UIKit-2372/UICollectionViewData.m:442 2012-09-26 18:12:34.432 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'request for index path for global index 805306367 when there are only 1 items in the collection view' 我已经检查,我的数据源只包含一个元素。 任何见解为什么会发生这种情况? 如果需要更多的信息,我可以肯定地提供。

UICollectionView有效的拖放

我目前正在尝试使用UICollectionView实现UITableView重sorting行为。 我们来调用一个UItableView TV和一个UICollectionView CV (澄清下面的解释) 我基本上试图重现电视的拖放,但我没有使用编辑模式,只要长按手势被触发,电池就准备好被移动。 它工作正常,我使用CV的移动方法,一切都很好。 我更新CV的contentOffset属性以处理用户拖动单元格时的滚动。 当用户到达顶部和底部的特定矩形时,我更新contentOffset和CV滚动。 问题是当用户停止移动它的手指时,手势不发送任何更新,这使得滚动停止并且一旦用户移动他的手指就重新开始。 这种行为是绝对不自然的,我宁愿继续滚动,直到用户释放简历,因为它是在电视的情况下。 电视拖拽的经验是真棒,我真的想重现相同的感觉。 有谁知道他们如何pipe理在重新sorting电视的滚动? 我试着用一个定时器重复触发滚动动作,只要手势位置在正确的位置,滚动是可怕的,并不是非常有效率(非常缓慢和跳动)。 我也尝试使用GCD在另一个线程中聆听手势位置,但结果甚至更糟。 我没有想到这个,所以如果有人有答案,我会嫁给他! 这里是longPress方法的实现: – (void)handleLongPress:(UILongPressGestureRecognizer *)sender { ReorganizableCVCLayout *layout = (ReorganizableCVCLayout *)self.collectionView.collectionViewLayout; CGPoint gesturePosition = [sender locationInView:self.collectionView]; NSIndexPath *selectedIndexPath = [self.collectionView indexPathForItemAtPoint:gesturePosition]; if (sender.state == UIGestureRecognizerStateBegan) { layout.selectedItem = selectedIndexPath; layout.gesturePoint = gesturePosition; // Setting gesturePoint invalidate layout } else if […]

在旋转界面方向的同时将contentOffset保留在UICollectionView中

我正在尝试处理UICollectionViewController中的界面方向更改。 我试图实现的是,我想有一个接口旋转后相同的 contentOffset。 意思是说,它应该根据边界比率的变化而改变。 从纵向开始,内容偏移量为{ bounds.size.width * 2,0} … …应该导致在横向上的内容偏移{ bounds.size.width * 2,0}(反之亦然)。 计算新的偏移量不是问题,但不知道在哪里(或何时)设置它,以获得平滑的animation。 我正在做这样的票价是无效的willRotateToInterfaceOrientation:duration:并重置didRotateFromInterfaceOrientation:的内容偏移didRotateFromInterfaceOrientation: : – (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration; { self.scrollPositionBeforeRotation = CGPointMake(self.collectionView.contentOffset.x / self.collectionView.contentSize.width, self.collectionView.contentOffset.y / self.collectionView.contentSize.height); [self.collectionView.collectionViewLayout invalidateLayout]; } – (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation; { CGPoint newContentOffset = CGPointMake(self.scrollPositionBeforeRotation.x * self.collectionView.contentSize.width, self.scrollPositionBeforeRotation.y * self.collectionView.contentSize.height); [self.collectionView newContentOffset animated:YES]; } 这将改变旋转后的内容偏移量。 如何在旋转过程中设置它? 我尝试在willAnimateRotationToInterfaceOrientation:duration:设置新的内容偏移量willAnimateRotationToInterfaceOrientation:duration:但是这会导致一个非常奇怪的行为。 一个例子可以在我的GitHub项目中find 。

按单元分页UICollectionView,而不是屏幕

我有UICollectionView水平滚动,并且总是有2个单元并排整个屏幕。 我需要滚动停止在一个单元格的开始。 启用分页后,集合视图会一次滚动整个页面,即2个单元格,然后停止。 我需要启用单个单元格的滚动,或者停止在单元格边缘的多个单元格的滚动。 我试图UICollectionViewFlowLayout并实现方法targetContentOffsetForProposedContentOffset ,但到目前为止,我只能打破我的集合视图,并停止滚动。 有没有更简单的方法来实现这个和如何,或者我真的需要实现UICollectionViewFlowLayout子类的所有方法? 谢谢。