Tag: uicollectionview

在UICollectionView中显示图像 – 如何实现图像之间的固定垂直间距?

我正在使用UICollectionView在iPhone应用程序(iOS6)中呈现图像网格。 我正在使用垂直滚动的UICollectionView,图像都有固定的宽度和不同的高度。 图像的宽度设置为在iPhone上显示3列图像。 这工作正常,我得到的网格视图中呈现的图像。 但是,由于我的图像高度不同,因此列中图像之间的垂直间距会有所不同,这看起来不太好,如下图所示(使用HTML制作的模型): 我反而希望实现更stream畅的stream动,即列之间的垂直间距相同。 下面的模型显示了我希望如何工作: 任何想法如何解决这个问题? 此外,作为一个奖金的问题,有没有人知道一种方法来解决同样的问题,如果应用程序不是为iOS6构build的(因为UICollectionView只在iOS6中可用)。 通过使用第三方组件或通过解决它与标准的iOS控件。

滚动时,大的UICollectionViewCell停止显示

UICollectionView行为与UICollectionView所描述的一样,导致了这个问题 。 即使我决定自己发一个,因为我做了进一步的调查,所以我不想发表评论或编辑上面提到的问题。 怎么了?: 当使用UICollectionView在UICollectionView中显示大单元格后,将集合视图滚动到某个偏移量后,单元格将消失。 当进一步滚动直到另一个单元进入可见区域时,消失/隐藏的单元再次变为可见。 我testing了一个垂直滚动收集视图和全宽单元格,但我相当肯定,这也会发生类似的水平滚动设置。 什么是大细胞? 所描述的行为发生在高于显示高度两倍的960.f + 1.f上(3,5英寸显示器上的1136.f + 1.f ,4英寸上的1136.f + 1.f )。 究竟发生了什么? 当集合视图的滚动偏移量超过cell.frame.origin.y + displayHeightOfHardware ,隐藏属性的单元格设置为YES并且-collectionView:didEndDisplayingCell:forItemAtIndexPath:被调用(例如,当scrollingOffset.y达到481.f时,第一个单元格变为隐藏在3,5英寸的iPhone上)。 如上所述,当滚动到下一个单元格进入视图时,隐藏单元格被再次显示(即,隐藏属性改变为NO ),而且,当滚动得足够远时,单元格不会再消失,当它不应该时,无论在何处你滚动到。 处理大于三显示器高度( 1441.f/1705.f )的单元格时会发生此变化。 那些显示相同的行为,但它保持不变,无论他们上下滚动多远。 还有什么?: 情况不能通过重写来解决-(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds返回YES 。 这些单元格不能被强制显示,隐藏后隐藏的属性设置为NO (例如在didEndDisplayingCell中) 那么,这个问题是什么? 我很肯定,这是UICollectionView/Controller/Cell/Layout一个错误,我将在Apple提交一个TSI。 但同时: 有没有人有任何想法快速黑客解决scheme ?

UICollectionView加载更多的数据

如果最后一个单元格显示,我想从服务器获取更多的数据,但是UICollectionView没有类似于UITableview的方法-willDisplayCell。 所以我不知道这个情况,有人能告诉我该怎么办,谢谢!

下载完图像后调整UICollectionView单元格的大小

我正在构build一个UICollectionView ,我的自定义单元格将包含两个标签和一个图像。 每个图像都是asynchronous下载的,所以我不知道它的大小,直到下载完成。 一旦下载,我想调整每个单元格重新布局它的内容和框架,以适应刚刚下载的图像的高度。 作为UICollectionViewLayout ,我正在使用CHTCollectionViewWaterfallLayout 要asynchronous下载图像,我使用SDWebImage ,像这样: [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder.png"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {… some completion code here …}]; 题: 在下载图像后立即调整每个UICollectionViewCell的正确方法是什么?

如何在Swift中以编程方式更改UICollectionViewCell大小?

我有一个segmented control UICollectionView切换数据。 但是,如何以编程方式更改UICollectionViewCell大小属性? 那么我可以为每种数据types适当地定制每种风格。 例如,将宽度更改为520,将高度更改为100.我是iOS开发新手,对CSS有经验:/ 我知道如何在Xcode(显然)做到这一点,但不知道正确的方法来迅速改变它。 任何想法或反馈非常赞赏(Y)

UICollectionView自定义行分隔符

我想为我们的新应用程序在UICollectionView 2pt黑色分隔符 。 下面是我们应用的屏幕截图。 我们不能使用UITableView ,因为我们有自定义的插入/删除animation,滚动和视差效果等等。

UICollectionVIew:在滚动时为单元格添加animation

我想我的UICollectionView项目在用户滚动浏览列表(我正在使用UICollectionViewFlowLayout的子类)中UICollectionViewFlowLayout 。 我在布局pipe理器中指定位置,我希望能够做的是也指定一个初始变换,并在正确的时间(当单元格第一次出现在屏幕上)在animation中应用。 要查看我的意思,请查看iOS上的Google Plus应用程序。 理想情况下,取决于细胞位置的不同变换。 我似乎无法find一种方法来找出何时显示一个单元格(没有等同于在UITableView的willDisplayCell )或任何指针去哪里去。 有什么build议么? 在这个屏幕截图中,您可以制作Google Plus中的animation: 另外,看看iPad上的iPhoto。 我不知道他们是否使用UIcollectionView(可能不是,因为它在iOS5上工作),但这是sorting,如果我正在寻找效果,照片似乎从右侧飞入。

使用iOS 7 API的UICollectionView交互式布局转换

我试图得到新的iOS 7 API的处理,允许交互,animation视图控制器转换,包括UICollectionViewLayout之间的UICollectionViewLayout 。 我已经从WWDC 2013取得并修改了示例代码,“iOS-CollectionViewTransition”,可以在这里find: https : //github.com/timarnold/UICollectionView-Transition-Demo 最初的演示,当我find它时,它不处于工作状态,可以通过Apple开发者帐户进行访问: https : //developer.apple.com/downloads/index.action?name = WWDC%202013 我的版本的应用程序呈现一个集合视图与两个布局,两个UICollectionViewFlowLayout布局具有不同的属性。 在第一个布局中点击一个单元格可以适当地animation到第二个单元格,其中包括关键点在于正在滚动到新布局的项目。 起初,我对新的集合视图如何知道如何设置其内容偏移量以使适当的单元格可见是困惑的,但我知道这是基于呈现集合视图的selected属性。 在第一个布局中UICollectionViewTransitionLayout项目应该使用UICollectionViewTransitionLayout , UIViewControllerAnimatedTransitioning和UIViewControllerInteractiveTransitioninganimation到新的布局。 这可以工作,但是捏住的单元格不会滚动到新的布局或过渡布局中。 我已经尝试设置在不同位置捏的单元格上的selected属性(试图模仿点击一个项目推动新的视图控制器描述的行为),无济于事。 有关如何解决这个问题的任何想法?

如何在UICollectionView中的UICollectionViewCells之间添加视图?

我想在我的UICollectionViewCell中的UICollectionView之间添加UIView s,我不知道我该怎么做。 我试图做到这样的事情: 我可能需要编写一个自定义的UICollectionViewLayout ,但我真的不知道从哪里开始。

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,所以任何帮助将是伟大的… 谢谢,比尔。