问题标签 [uicollectionreusableview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
11263 浏览

ios - 如何为 UICollectionView 创建一个“粘性”页脚?

UICollectionView为“粘”到给定页面的屏幕边界底部的页脚提供页脚的最佳方法是什么?假设UICollectionView是全屏并且只有一个部分。

目前我在 中提供一个UICollectionReusableView对象collectionView:viewForSupplementaryElementOfKind:atIndexPath:,但是(正如人们所期望的那样)当我的集合的内容超出此屏幕的范围时,页脚被推到屏幕外。

我猜关键是装饰视图- 但我找不到任何关于这些如何工作的好的代码(非 IB)示例,而且我认为 Apple 的文档在这个特定主题上不清楚。

更新回复:装饰视图

在构建并尝试了装饰视图使用本教程)之后,我遇到了一些限制 - 即装饰视图对象和您的UICollectionViewController控制器对象之间实际上没有任何回调(装饰视图由一个UICollectionViewLayout对象管理,而不是UICollectionViewController目的)。看起来 Apple 非常重视装饰视图仅限于视觉装饰,而不是数据驱动(尽管你显然可以绕过这个)。

因此,我仍然无法找到“正确”的解决方案,但与此同时,我刚刚创建了一个静态UIView对象,并且只是从我的UICollectionViewController对象中管理它。它工作正常,但感觉不对。

更新回复:粘性标题

在过去的几个月里,我在各种项目中处理过类似的问题,并且最近确实找到了粘性 HEADERS 的解决方案。我认为这同样适用于页脚,但我还没有测试过。

此处有关标头的详细信息:

如何使补充视图在 UICollectionView 中浮动,就像部分标题在 UITableView 普通样式中一样

实现相当繁重,但在大多数情况下似乎运行良好。

如果很快没有关于这个问题的进一步活动,我将作为副本关闭并指向上面的文章。

0 投票
1 回答
351 浏览

objective-c - iOS6 UIStoryboard 如何将 UICollectionReusableView 添加到 UICollectionView 对象?

我在使用 a 时遇到了一个愚蠢的问题UICollectionView- 我添加了一个 " UICollectionReusableView" 通过将它拖到UICollectionView顶部位置内。我期待这是一种可见的标题(类似于UITableView)。但是,当我运行该应用程序时,我看到一个高度等于单元格上可重用视图的空白空间,但没有显示其他任何内容。

我还需要采取哪些其他步骤来确保在应用程序运行时显示在故事板中定义的可重用视图?

0 投票
7 回答
22403 浏览

ios - UICollectionView 和自定义 UICollectionReusableView 不起作用

我正在尝试在我的标题中使用自定义UICollectionReusableView(具有自己的类和 XIB) 。UICollectionView但是在获取标题位置的数据之后,我什么都没有。

我的步骤:

  1. 在viewDidLoad中注册类:

    /li>
  2. 试图显示:

    /li>

谁能告诉我怎么了?) 感谢您的任何建议

0 投票
1 回答
3075 浏览

ios - 如何为 UICollectionViewFlowLayout 中的每个单元格添加标题/标签补充视图?

我见过的所有示例都使用补充视图作为页眉或页脚。我需要在流程布局中的每个单元格上方和/或下方添加一个标签。

起初,我认为我所要做的就是注册一个类作为补充视图,然后实现collectionViewForSupplementaryElementOfKindAtIndexPath ,我会很高兴,但开箱即用的FlowLayout似乎只支持页眉和页脚。

苹果文档似乎暗示更多需要FlowLayout的子类化工作。

由于我不想重做苹果为流布局所做的工作,并且由于我的单元格的大小预计会有所不同,所以我想扩展 Flow Layout 以支持每个单元格的 supp 视图。

我想我应该能够通过继承 UICollectionViewFlowLayout 来实现这一点。

但我不确定如何告诉流程布局为每个单元格请求补充视图。简单地为 supp 视图注册一个类不会强制布局调用layoutAttributesForSupplementaryViewOfKind。就目前而言,这从未在我的子类中调用过。我想如果我为 supp 视图注册一个类,它应该为我的部分中的每个项目请求 sup 视图……这似乎是一个不正确的假设。

我见过一个很棒的自定义布局示例,其中使用 NSDictionaries 手动管理布局,但我不确定如何将这些知识应用于内置流布局。

0 投票
1 回答
6046 浏览

ios - UICollectionView 标头兼容视图

UICollectionView在情节提要中构建了一个,并在视图控制器中实现了所有必需的数据源和委托方法。在情节提要中,我检查了Section Header集合视图上的属性并将标题视图的类设置为UICollectionResusableView(在情节提要中)的子类。

从这里,我通过故事板将两个 UI 元素拖到标题视图中——一个标签和一个分段控件:

在此处输入图像描述

执行程序时,标签出现在集合视图的标题视图中(不需要实际代码),但分段控件不会。然而,当一个分段控件被拖到一个典型的UIView. 即使通过 中的代码实例化IBOutlet,分段控件也不会出现。

为什么分段控件在典型的集合视图的标题上不可见UIView,为什么标签显示没有问题?

更新

这是自定义标题视图的 init 方法,我尝试以编程方式添加分段控件(而不是在情节提要中):

根据要求,这是-[UICollectionReusableView viewForSupplementaryElementOfKind:]主视图控制器中的方法:

0 投票
1 回答
6874 浏览

objective-c - 将补充标题视图添加到 UICollectionView 时出错

实施补充标题视图时出现以下错误

这是创建标题视图的代码

该错误发生在 dequeueReusableSupplementaryViewOfKind 方法中。

我在 Collection View Controller 的 initWithCoder 中添加了这两行

所以它确实有对 UI 元素的引用。我无论如何都找不到在标题上设置布局。

我尝试将其添加到同一个集合视图控制器中,但它从未命中此代码,因为我通过在其中放置调试器确认

有没有人看到这个问题,他们是如何解决的。我也在使用 XCode 5 Developer Preview 5 并为 iOS7 开发

0 投票
1 回答
545 浏览

ios - 从 cellForItemAtIndexPath 中重新加载 UICollectionViewCell

在 cellForItemAtIndexPath 中重试失败的图像下载的最佳方法是什么?我有一个可以显示大约 20 个 80x80 缩略图的集合视图。我正在使用SDWebImage在 cellForItemAtIndexPath 方法中下载和缓存图像,但我发现图像经常无法下载。我知道我可以使用完成块并测试图像是否为零,但它似乎没有正确重新加载图像(图像仍然永远不会出现)。这是我应该如何处理重新加载单元格吗?这是我的代码示例。

0 投票
1 回答
1748 浏览

uicollectionview - 使用 NIB 在 XCode 5 DP5 中注册集合视图标头并出现错误

当我获得集合视图标题的补充视图时出现错误。我使用以下代码注册补充视图

这里没有错误。但是当我使用以下代码获取视图时

我收到以下错误并且应用程序崩溃

我只有一个集合可重用视图,但我在 Xib 中有一个对象,如下图所示。我确实需要这个对象,因为我需要将标题中显示的文本字段与作为主视图控制器的对象链接起来。鉴于我的要求,我该如何解决这个问题?

在此处输入图像描述

0 投票
3 回答
7777 浏览

ios - 检测 iOS UICollectionCell 何时离开屏幕

我有一个UICollectionView将图片作为元素保存在其数据存储中的。

UICollectionViewCell我只想在元素当前显示在屏幕上时才将高分辨率图片加载到元素中。后来,当UICollectionViewCell屏幕熄灭时,我想将元素返回UIImage到低分辨率版本。

我的问题是,如何检测 a 何时UICollectionViewCell离开屏幕?

(我尝试使用该prepareForReuse方法,但我无法预测何时调用它)。

我目前正在使用位于 中的一段代码,scrollViewDidScroll每次视图滚动时,我都会检查self.collectionView.visibleCells以查看哪些单元格已滚动到屏幕外。

这似乎有点开销,我想知道在UICollectionViewCell滚动屏幕时是否有一个方法调用它本身?

0 投票
2 回答
2040 浏览

ios - UICollectionView 页脚。阅读文档,仍然无法显示。必须以编程方式完成

我正在尝试将补充页脚添加到UICollectionView. 根据Apple的文档,我似乎正在使用所有正确的方法,但由于某种原因:

...根本没有被调用。

我已经子类化为UICollectionReusableView一个名为SmartActionFooterView.

在方法ViewController中,ViewDidLoad我正在注册视图并将其与重用标识符相关联,如下所示:

然后用...覆盖该UICollectionFlowDelegate方法

NSLog是打印出来的。

然后我正在点击UICollectionViewDataSource方法...

然而,这NSLog没有打印任何内容,但是我不知道为什么。

我有需要以编程方式完成这一切的限制(没有故事板)。

谢谢!