问题标签 [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 回答
47 浏览

ios - UICollectionView didSelecteItem 委托行为怪异

UICollectionView要展示一些组件。它的垂直滚动并且只有 1 列。

collectionView在不同部分的数据源中添加了 2 个相同但具有不同数据的对象。

在我的cell课堂上,我的初始化和更新方法如下

但是collectionViewdidSelectItemAtIndexPath有时会调用这个单元格,有时不会调用,这很奇怪。

我还将collectionView's delegate 设置为当前类,并且我也没有向gesture recogniser单元格或collectionView.

但是这种行为仍然很奇怪而且非常随机,我什至无法调试特定的场景。

任何帮助将非常感激。

谢谢

0 投票
1 回答
553 浏览

ios - cellForItemAtIndexPath 获取块中 indexPath 的错误值

我在 custom 中创建了一个按钮UICollectionViewCell,并在按钮块中添加了一个目标,例如:

我设置块删除单元格我单击 中的按钮cellForItemAtIndexPath,例如:

在我删除第一个单元格之后。下一个单元格NSIndexPath错误,[collectionView indexPathForCell:strongCell];块中的函数得到正确的值。

我不知道他们为什么不一样?

0 投票
0 回答
69 浏览

ios - UICollectionViewDataSource 不对触摸事件做出反应

在 Visual Studio 2017 中使用 Xamarin.iOS 本机。

我有我的习惯UICollectionViewDelegate,只有被覆盖的方法Scrolled()。我可以滚动另一个ScrollView滚动这个。初始化看起来像: collectionView.Delegate = new MyCollectionViewDelegate(targetScrollView); 但是设置自定义委托,我collectionView.Source停止对触摸事件做出反应。ShouldHighlightItem()GetCell()不要开火。我无法与我collectionView的内容进行交互。

有谁知道我应该怎么做才能迫使我做出UICollectionViewSource反应?我应该重写我的一些方法吗?ShouldHighlightItem()GetCell()UICollectionViewDelegate


更新。解决方案。

我在这里找到了我应该在UICollectionViewDelegate:ShouldHighlightItem()和. 我没有怀疑这些方法的名称与. 但是我已经覆盖了它们并且运行良好。ItemUnhighlighted()ItemUnhighlighted()UICollectionViewSource

0 投票
1 回答
3638 浏览

ios - iOS Swift CollectionView 委托没有被调用

我已经使协议符合UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, UIScrollViewDelegate一个名为的单独类CollectionViewWeekDelegate,但没有调用诸如委托方法之类的方法didSelectItemAt

我还将代表设置CollectionViewviewDidLoad()

请在下面找到代码:

代表班

CollectionView分配委托的viewDidLoad 函数:

0 投票
1 回答
649 浏览

ios - 如何访问存储在我的 CollectionViewController 中的 CollectionViewCell 中的变量

嗨,我在访问存储在我的 CollectionViewCell 中以在我的 CollectionViewController 中的 segue 中使用的字符串值时遇到问题。

我的 CollectionViewController 包含任意数量的具有 Button、Label 和 ID 的单元格。当用户按下按钮时,我想切换到新的 ViewController 并将 ID 作为参数传递。

我意识到你不能从 CollectionViewCell 中分离出来,所以我需要找到一种方法来获取刚刚在我的 CollectionViewController 中按下按钮的单元格的访问 ID。

以下是我创建单元格的方法:

值得一提的是,我曾尝试沿着 didSelectItem atIndexPath 路线走下去,但遇到了一些问题。也就是说,当我按下按钮时,根本不会调用该函数。下面是我声明该函数的方式。按下按钮永远不会打印出“测试”。

我将添加我的 CollectionViewControllerCell 的代码以防万一:

}

因此,如果有人有实现我目标的好方法,我将不胜感激。 这是我的 CollectionViewController 的照片,有 6 个项目

编辑:我意识到单击 CollectionViewControllerCell 中的标签确实会调用我的 didSelectItemAtPath 函数,但不会调用按钮。有没有办法让两者都这样做?

0 投票
1 回答
75 浏览

ios - 未调用委托函数

所以我试图使用协议和委托来连接两个函数,这样我就可以在不同的文件中对一个 collectionView 变量执行一些操作。

这是创建一个collectionViewCell 的文件,其中包含一个collectionView。我正在尝试使用委托模式对该 collectionView 执行一些操作。我的问题是在随附的 viewController 中永远不会调用委托函数。我觉得我做的一切都是正确的,但随附的 vc 中没有任何反应。任何人都注意到可能是错误的。我在下面展示了 VC 的代码

}

为了简单起见,我已将代码缩减为我认为回答问题所需的代码。任何帮助表示赞赏

0 投票
1 回答
63 浏览

ios - 使用委托模式的无效选择器

我正在尝试使用委托模式为 collectionView 的高度变化设置动画。触发此更改的按钮位于标题中。但是,当我按下按钮时,不仅高度不会改变,而且还会因错误而崩溃

'NSInvalidArgumentException',原因:'-[UIButton 长度]:无法识别的选择器发送到实例 0x12f345b50'

我觉得我做的一切都是正确的,但是当我点击按钮时它总是崩溃。有没有人看到任何错误,无论如何我可以按照我想要的方式为单元格的高度变化设置动画。这是单元类以及协议和委托。

这是最终应该通过委托函数处理扩展的视图。

在这里为集合决定了高度

我使用这篇文章作为参考来实现 Expandable UICollectionViewCell

0 投票
1 回答
976 浏览

swift - 以编程方式创建自定义 UICollectionFlowLayout

我正在尝试以编程方式创建一个带有自定义 FlowLayout 的 UICollectionView。

我按照本教程介绍了如何通过情节提要设置自定义 FlowLayout:https ://octodev.net/custom-collectionviewlayout/

但是,我想避免使用故事板,而是通过我的代码中的纯逻辑来实现这一点。

目前,我在主 VC 中对 collectionView 的设置如下:

我需要在 StoryBoard 上以编程方式注册如下 在此处输入图像描述

布局需要是“自定义”并且类需要是特殊类。

这是课程:

这是基本的 collectionViewFlowLayout

我该怎么做?

0 投票
0 回答
79 浏览

ios - 如何以编程方式控制 UICollectionViewCell 移动

我在 UICollectionView 中启用了分页,我正在做水平滚动。

我想以编程方式控制 UICollectionViewCell 的移动,即每当有滑动时我想取消手动拖动并且我想移动 UICollectionView 以偏移我提到的。

所以基本上无论用户滑动的速度有多快......我都会移动一些特定的偏移量,这样我就可以更严格地控​​制我正在显示的 UICollectionViewCell 的哪一部分等,

我尝试使用 UICollectionView 委托来执行此操作,例如开始拖动或结束拖动,但手动拖动仍然很难避免......所以 UICollectionView 移动看起来像第一次的双重拖动......手动移动第二次可见..我正在以编程方式移动..

那么如何取消手动移动

第二如何移动到特定的偏移量......我能够移动到特定的索引路径。

非常感谢任何帮助!

0 投票
1 回答
117 浏览

uitableview - 设置 UITableView Cell 高度(包含动态 UICollectionView)

我的目标: 每个 UITableView 单元格包含 1 个 UIColletionViewController (动态项目计数

问题: UITableView 'HeightForRow 的委托,在 UIColletionViewController 完成加载他的视图 + 高度之前调用。

结果: UITableView 'HeightForRow = 0

如何正确设置 UITableView“HeightForRow”委托? UIColletionViewController 的内容高度尚未加载

在此处输入图像描述

结果应该如下图所示:

在此处输入图像描述

已经尝试: