Tag: uicollectionview

UICollectionView将图像添加到单元格

我正在使用UICollectionView来显示可能有或没有图像的数据的项目。 我使用的方式是检查图像的URL不是null,然后将一个ImageView添加到单元格。 – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { if (question.picture != (id)[NSNull null]) { //add AsyncImageView to cell imageView.contentMode = UIViewContentModeScaleAspectFill; imageView.clipsToBounds = YES; imageView.tag = IMAGE_VIEW_TAG; [cell addSubview:imageView]; [[AsyncImageLoader sharedLoader] cancelLoadingImagesForTarget:imageView]; imageView.imageURL = [NSURL URLWithString:question.picture]; } } 对于那些没有图像的单元格,单元格应该如下所示: https : //dl.dropboxusercontent.com/u/5753236/Stackoverflow/good.png 但是,他们中的一些仍然会添加一个带有裁剪图像的ImageView,导致如下所示: https : //dl.dropboxusercontent.com/u/5753236/Stackoverflow/bad.png 我试过使用SDWebImage,但仍然没有解决问题。 另一个问题是,当我向下滚动UICollectionView ,会看到一些图像显示为上面显示的图像,然后在加载完成后切换到正确的图像,我不知道是什么导致了问题。 请帮我解决这两个问题,我真的很感激任何帮助。

如何使补充视图在UICollectionView中浮动为UITableView普通样式的Section Headers

我努力实现与UICollectionView “浮动部分标题”效果。 在UITableView ( UITableView默认行为)中已经足够容易了,在UICollectionView似乎是不可能的。 我是否错过了明显的? 苹果公司没有提供如何实现这一目标的文件。 看来,人们必须UICollectionViewLayout并实现一个自定义的布局才能达到这个效果。 这需要相当多的工作,实施以下方法: 重写的方法 每个布局对象应该实现以下方法: collectionViewContentSize layoutAttributesForElementsInRect: layoutAttributesForItemAtIndexPath: layoutAttributesForSupplementaryViewOfKind:atIndexPath: (if your layout supports supplementary views) layoutAttributesForDecorationViewOfKind:atIndexPath: (if your layout supports decoration views) shouldInvalidateLayoutForBoundsChange: 然而,我不清楚如何使补充视图在单元格上方浮动,并“粘”到视图的顶部,直到到达下一个部分。 在布局属性中是否有这个标志? 我会使用UITableView但我需要创build一个相当复杂的集合层次结构,这很容易通过集合视图来实现。 任何指导或示例代码将不胜感激!

UITableViewCell里面的UICollectionView – dynamic高度?

我们的一个应用程序屏幕要求我们在UITableViewCell放置一个UICollectionView 。 这个UICollectionView将有一个dynamic数量的项目,导致一个高度,必须dynamic计算。 但是,我遇到了问题,试图计算embedded的UICollectionView的高度。 我们的总体UIViewController是在Storyboard中创build的,并且使用了自动布局。 但是,我不知道如何根据UICollectionView的高度来dynamic增加UITableViewCell的高度。 任何人都可以提供一些关于如何完成这一点的提示或build议?

UICollectionView flowLayout没有正确包装单元格(iOS)

我有一个UICollectionView的UICollectionView。 它会像大多数时间一样工作,但是现在,其中一个单元格不能正确包装。 例如,第三行第一个“列”中应该打开的单元格,如果实际上在第二行后面,并且只有一个空白空间(参见下图),那么该单元格应该位于第三行的第一个“列”中。 所有你能看到的这个胭脂细胞都是左边的(其余的被切除),它应该是空的。 这并不一致, 它并不总是相同的行。 一旦发生,我可以向上滚动,然后返回,单元格将自己修复。 或者,当我按下单元格(通过按压将我带到下一个视图)然后popup时,我会看到单元格位置不正确,然后跳转到正确的位置。 滚动速度似乎更容易重现问题。 当我慢慢地滚动时,我仍然可以不时地看到单元错误的位置,然后马上跳到正确的位置。 当我添加节插入时,问题就开始了。 以前,我的单元格几乎与收集边界齐平(很less或没有插入),我没有注意到这个问题。 但是这意味着收集视图的右侧和左侧是空的。 即,不能滚动。 另外,滚动条并不是在右边。 我可以在模拟器和iPad 3上发生问题。 我猜这个问题正在发生,因为左侧和右侧部分插入…但如果价值是错误的,那么我会期望行为是一致的。 我不知道这可能是苹果的错误吗? 或者,这可能是由于内嵌物或类似物的堆积造成的。 任何解决scheme/解决方法,赞赏。 跟进 :我已经在下面用尼克的这个答案超过6个月, 12个月,现在没有问题(如果人们想知道这个答案是否有漏洞 – 我还没有find任何问题)。 做得好尼克。

targetContentOffsetForProposedContentOffset:withScrollingVelocity无子类化UICollectionViewFlowLayout

我的应用程序中有一个非常简单的collectionView(只是一行方形缩略图)。 我想拦截滚动,以便偏移总是在左侧留下完整的图像。 此刻它滚动到任何地方,并会留下切断的图像。 无论如何,我知道我需要使用该function – (CGPoint)targetContentOffsetForProposedContentOffset:withScrollingVelocity 要做到这一点,但我只是使用标准的UICollectionViewFlowLayout 。 我没有inheritance它。 有没有任何方法来拦截这个没有UICollectionViewFlowLayout ? 谢谢

以编程方式创build一个UICollectionView

我寻找一个指导或教程,将告诉我如何设置一个简单的UICollectionView只使用代码。 我正在通过苹果网站上的文档 ,以及使用参考手册 。 但是我真的会受益于一个简单的指南,它可以告诉我如何设置一个UICollectionView,而不必使用Storyboard或XIB / NIB文件 – 但不幸的是,当我search时,我所能find的就是故事板function的教程。

如何使用Swift做一个简单的集合视图

我试图学习如何使用UICollectionView 。 该文档有点难以理解,我发现的教程是在Objective C或长时间复杂的项目。 当我学习如何使用UITableView , 我们❤Swift的 如何使用iOS 8制作一个简单的tableview,Swift有一个非常基本的设置和解释让我走。 有没有这样的UICollectionView ? 下面的答案是我尝试学习这样做。

致命错误:意外地发现零,而解包一个可选值

我在Swift中使用UICollectionView ,但当我尝试更改单元格标签的文本时, func collectionView(collectionView: UICollectionView!, numberOfItemsInSection section: Int) -> Int { return 5 } func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! { var cell = collectionView.dequeueReusableCellWithReuseIdentifier("title", forIndexPath: indexPath) as TitleCollectionViewCell // Next line: fatal error: unexpectedly found nil while unwrapping an Optional value cell.labelTitle.text = "This is a title" return cell } 有人知道吗?