问题标签 [uicollectionviewdelegate]

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 投票
1 回答
2041 浏览

ios - UICollectionView.reloadData() 更改单元格顺序 | iOS 斯威夫特

所以我正在使用一个简单的 UICollectionView,X 行 3 列,其中 X 由变量 matchesFromSelectedSession.count + 1 设置。这是我用于我的 collectionView 的委托函数:

我使用的自定义单元格 MatchCollectionViewCell 仅包含一个标签 matchCollectionLabel,仅此而已。我在视图的 viewDidAppear 函数中使用 self.matchCollectionView.reloadData() 来处理辅助视图更改表并解散回原始视图的情况。

我在第一次使用后标记单元格,我不会在每个 viewDidAppear 之后不断地向单元格添加不必要的子视图。

该表在初始设置后看起来很棒,但在调用 reloadData 后,collectionView 的单元格顺序发生了变化和混乱。如果我编辑单元格的数量,reloadData() 会更新以正确显示单元格编号的变化,但单元格的顺序仍然不正确。

这是reloadData之前和之后的图片

http://imgur.com/wqfXqLG.png

任何帮助将不胜感激!谢谢!

0 投票
1 回答
360 浏览

ios - 在以编程方式创建的 UICollectionView 中未调用 didDeselectItemAtIndexPath 函数

我以编程方式创建了一个 UICollectionView。它的单元格还包含以编程方式创建的 UILabel、UIView 和 UIImageView。包含此集合视图的视图也已以编程方式创建。我已经设置了它的数据源并委托给自己。标签、视图和图像视图的 userInteractionEnabled 属性也已设置为 false。集合视图的allowsMultipleSelection 属性也设置为true。

问题是每当我触摸单元格时都会调用 didSelectItemAtIndexPath 函数。但是 didDeselectItemAtIndexPath 函数永远不会被调用。我尝试根据需要将 cell.selected 属性设置为 true/false,但对我的问题没有帮助。

请帮忙!!我花了很多时间搜索它,但没有结果!感谢您的回复。

0 投票
0 回答
130 浏览

ios - 连接到委托/数据源后,键盘扩展中的 UICollectionView 不起作用

我使用情节提要制作了一个自定义键盘扩展,它在模拟器中运行良好。

键盘 AZ 视图

我需要为其添加表情符号功能。

我通过在情节提要上添加第二个视图并将其设置为隐藏在 viewDidLoad 中来完成此操作,然后您按下主(Az)视图上的按钮显示第二个视图(表情符号)。

大纲

在第二个视图中,我使用 collectionView 来布局表情符号。在模拟器中一切正常。我可以看到灰色的集合视图。

第二个视图中的collectionView

但是,当我将 collectionView 连接到 collectionView 数据源并在键盘视图控制器中委托时,如下所示:

连接到数据源和委托

然后在模拟器中运行它,我得到一个错误说插件无效并且键盘不会在模拟器中加载。

请问我做错了什么?

谢谢你的任何建议。

0 投票
3 回答
5807 浏览

ios - 调整 UICollectionView 中特定部分的插图

  1. insetForSectionAtIndex(在 DelegateFlowLayout 上)允许为一个部分中的所有单元格设置插图

  2. sectionInset(在 FlowLayout 上)使您能够设置适用于所有部分的插图。

但是,我正在寻找一种仅将插图应用于一个特定部分的方法 - 这可能吗?

0 投票
1 回答
875 浏览

ios - 为什么我无法在 collectionView 中选择单元格?

我以编程方式创建了我的 UICollectionView,设置委托、数据源。我可以滚动我的 UICollectionView,单击单元格内的按钮,但我无法选择我的单元格。DidSelect 函数根本不会触发!

我的代码:

我正在解决这个问题超过 2 周,但我不明白它为什么会发生。谁能帮我?

0 投票
2 回答
2001 浏览

ios - 以编程方式创建 UICollectionView

我正在学习如何以编程方式创建 UICollectionView。我想在应用程序的另一部分创建从用户那里收集的图片网格。这个示例代码能帮我完成这个吗?另外,如何配置数据以发出我想要的图像?我的源代码如下。

UICollectionView:

ImageStore.swift:

0 投票
2 回答
1052 浏览

ios - UICollectionViewFlowLayout 中的动画更改

我正在使用 aUICollectionViewFlowLayout在水平滚动视图中排列视图图块。默认情况下,我使用以下命令将它们设为正方形UICollectionViewDelegateFlowLayout

这样我就得到了方形瓷砖,大小与当前的大小相符collectionView。但是,有一种情况是我修改了某些图块的标称尺寸,所以它看起来有点像:

我还没有想出的是如何触发集合视图 A)召回委托以重新布局和 B)如何使其更改动画。

我试过的:

1)

这无济于事。print()委托回调中的语句表明它从未被调用。

2)

这也无济于事。我不确定它是聪明还是什么。也许足够聪明地注意到它们是相同的并选择退出?

3)

这确实会导致布局发生!但根本没有动画。它只是突然改变。它似乎将磁贴的右侧保持在原来的位置,而不是左侧,并且它似乎在我在两次调用之间进行了其他 UI 更改之后明显发生。

0 投票
2 回答
5623 浏览

swift - 如何快速获取集合视图的标题?

如何在 DidSelectItemAtIndexPath 上获取集合视图的标题,以便在选择项目时更改标题的文本。

0 投票
1 回答
325 浏览

swift - CollectionView 单元格单击展开新视图

我正在尝试创建一个具有 TabBarViewController 和 4 个选项卡的演示应用程序(情节提要上有 4 个不同的 ViewControllers)

在第一个 ViewController 的第一个选项卡上,我有一个 collectionView,其中包含具有 ImageView 和少量标签的单元格。

我要做的是,当您单击一个单元格时,它会扩展到整个屏幕,并且视图仍然停留在选项卡栏的第一个选项卡中,刚才 ViewController 内的视图已更改为新的视图是所选单元格的展开视图,当您向下滚动时,集合视图会继续,您可以单击另一个单元格并展开等等...同时您可以随时按下并显示在视图中展开的最后一个单元格

我希望我对我正在尝试做的事情足够清楚。现在生病添加我已经拥有的代码

0 投票
1 回答
399 浏览

ios - UICollectionViewDelegate 中的 Swift 3 警告

我正在使用 Xcode 8 和 Swift 3。我正在设计 UICollectionView 并希望动态设置高度和宽度,因此需要一些答案。在我得到这个解决方案的路上(正确与否 - 我不知道):

但是这个答案是 swift 2.0 并且给出这个答案的人声称它已经解决了。我将它粘贴到 Xcode 中并更改了 Xcode 建议我的一些内容。

现在在这里我收到以下警告:

Xcode 建议我 2 个解决方案 1)在 func 关键字之前添加 private 2)在 fun 关键字之前添加 @nonobjc

我尝试了两种解决方案,它抑制了警告,但从未调用过上述任何一种。我尝试设置断点并尝试了很多方法。如果有人能把我从这个坑里拉出来。