问题标签 [uicollectionview]
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.
iphone - UICollectionView 制作EPG
WWDC 的一些人告诉我,UICollectionView 非常适合在 iOS 中创建 EPG(电子节目指南)样式视图,如下图所示。但是,我找不到任何接近这个的样本......有人知道吗?
ios - 如何将 UISearchDisplayController 与 UICollectionViewController 一起使用?
如果您将 UISearchDisplayController 与 UITableViewController 一起使用,则当用户点击搜索栏时,它会动画化以替换导航栏。
在 UICollectionViewController 顶部使用 UISearchBar 时,我希望获得相同的效果。有任何想法吗?
nsfetchedresultscontroller - UICollection 查看 & performBatchUpdate
我试图构建一个可以使用 UICollectionviewcontroller 和 NSFetchresultcontroller 的应用程序,我找到了以下链接“https://github.com/AshFurrow/UICollectionView-NSFetchedResultsController/blob/master/AFMasterViewController.m
在这里你可以找到代码
我有以下错误
_sectionsChange 的 NS 日志给我以下输出
我想知道如何解决这个问题,所以任何帮助将不胜感激
谢谢
iphone - 在 UICollectionView/UICollectionViewLayout 旋转或边界更改上禁用交叉淡入淡出的最佳方法是什么?
我有一个子类,UICollectionViewLayout
它把细胞放在一个圆圈里。布局返回YES
调用shouldInvalidateLayoutForBoundsChange:
。旋转时,初始位置的单元格淡出,最终位置的单元格淡入。
通过将以下代码添加到我的布局中,我可以禁用淡入淡出,并且项目圈似乎只是随着方向的变化而旋转:
为什么这些方法会在边界更改时被调用,因为文档似乎没有建议它们这样做?文档似乎表明它们被称为与从集合视图中插入和删除项目有关。
有没有更好的方法来禁用旋转期间的交叉淡入淡出?
笔记:
initialLayoutAttributesForAppearingItemAtIndexPath:
文档指出,默认情况下该方法返回但nil
调用super
返回的非零值。UICollectionView
我在方法 上设置了符号断点deleteItemsAtIndexPaths:
,moveItemAtIndexPath:toIndexPath:
并且insertItemsAtIndexPaths:
在旋转过程中没有一个被击中。
objective-c - 在 iOS 中设置 UICollectionView
我一直在寻找设置UICollectionView
iOS 应用程序的方法。谷歌只出现了一些关于它是什么的帖子,而不是它是如何工作的。当然,Apple 文档很有帮助,但没有提供我希望能够设置UICollectionView
.
如何设置一个UICollectionView
?
objective-c - UICollectionView 使用 performBatchUpdates 执行更新
我有一个UICollectionView
我正在尝试动态/使用动画将项目插入其中。所以我有一些功能可以异步下载图像并希望批量插入项目。
获得数据后,我想执行以下操作:
现在代替***
,我应该传递一个 数组NSIndexPaths
,它应该指向要插入的新项目的位置。我很困惑,因为在提供位置后,我如何提供应该在该位置显示的实际图像?
谢谢
更新:
resultsSize
包含数据源数组的大小,self.results
在从 处的数据添加新数据之前newImages
。
objective-c - UICollectionView 没有出现
我正在尝试在扩展的视图控制器中以UICollectionView
编程UIViewController
方式进行设置。出于某种原因,我的收藏视图根本没有出现。下面是我所拥有的。
为什么不出现?我将它连接到委托和数据源,并将其作为子视图添加到self.view
. 我的代码中缺少什么?
在我的.h
文件中:
在我的.m
文件中:
objective-c - UICollectionView cellForItemAtIndexPath 未注册单元格
我正在尝试使用UICollectionViewCell
,因为我想要显示的只是一张图片。我可以使用'属性将图像添加到单元格中UIColor colorWithImage:
。UICollectionViewCell
contentView
在我的loadView
方法中,我正在注册单元格,如下所示:
[self.collectionView registerClass:[ImageCell class] forCellWithReuseIdentifier:@"MyCell"];
下面是我的cellForItemAtIndexPath
方法:
当我运行它时,一旦它到达出队行,它就会崩溃并出现以下错误:
我厌倦了设置自定义单元格,并将其用作类,我得到了同样的错误。我的自定义单元格是 UICollectionViewCell 的子类,除了默认的initWithFrame
. 那是因为我只想更改视图的背景颜色。我不确定问题是什么,但有人可以看看我的代码并帮助我吗?我一直试图弄清楚这一点,但完全没有运气。
ios - UICollectionView setLayout:animated: 不保留 zIndex
我注意到,当调用setLayout:animated
aUICollectionView
在两个布局之间切换时,当前可见的单元格不符合zIndex
它的布局属性已在layoutAttributesForItemAtIndexPath:
.
例如,如果我有一个UICollectionView
with UICollectionViewFlowLayout
,将其设置minimumLineSpacing
为负数,以便单元格重叠,然后zIndex
在每个单元格上设置 a 高于前一个单元格的值,然后看起来好像单元格是从下往上堆叠的。
但是,如果我将布局设置为另一个布局,然后返回到该原始布局,则会中断。就好像当前可见的单元格不听 zIndex 并放置在其他单元格的顶部。如果我将单元格滚动到屏幕外,然后返回到正确的位置。
objective-c - insertItemsAtIndexPaths 更新错误
在 UICollectionView 中,我正在尝试使用performBatchUpdates:completion
对我的网格视图执行更新。我的数据源数组是self.results
.
这是我的代码:
解释我有什么/我在做什么:
当初始插入到集合视图完成时,此代码运行良好。但是,当我将更多数据添加/插入到我的集合视图中(通过更新self.results
和调用它)时,会出现以下错误:
*由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无效更新:第0节中的项目数无效。更新后现有节中包含的项目数(8)必须等于其中包含的项目数更新前的那个部分 (4),加上或减去从该部分插入或删除的项目数(插入 32,删除 0),加上或减去移入或移出该部分的项目数(0 移入,0搬出)。'
我知道这意味着数据源没有正确更新。但是,在查询我的self.results
数组时,我看到了新的数据计数。我在第一行使用addObjectsFromArray
. 我还将旧结果大小存储在resultsSize
. 我使用该变量将新添加的索引路径添加到arrayWithIndexPaths
.
现在在添加/插入项目时,我尝试了以下 for 循环:
for (id obj in self.results)
这就是我现在正在使用的。它最初可以工作,但会进一步插入崩溃。
for (UIImage *image in newData)
最初也可以工作,但进一步插入崩溃。
从函数的名称来看,我相信它insertItemsAtIndexPaths
会在没有循环的情况下将所有项目插入这些索引路径。但是,如果没有循环,应用程序在最初尝试填充数据时会崩溃。
我还尝试循环resultsSize + 1
直到新self.results
计数(包含新数据),并且在初始更新时也会崩溃。
关于我做错了什么的任何建议?
谢谢,