gpt4 book ai didi

ios - UIKit Collection View ,奇怪的行为(访问/滚动单元格)

转载 作者:搜寻专家 更新时间:2023-10-31 19:29:11 26 4
gpt4 key购买 nike

所以我最近在我的应用程序中实现了一个 Collection View ,但我遇到了一个我似乎无法解决的错误,搜索它并没有看到关于它的线程。

如果我将光标/手指放在单元格上,我无法滚动浏览我的 Collection View ,我需要选择一个“空白”区域来滚动。

enter image description here

我遇到的第二个奇怪行为是我无法直接触摸单元格。我需要在选择单元格时触发代码的某种滑动手势。

enter image description here

如果我转到 Storyboard上的 Collection View 并在 ScrollView 部分选择延迟内容接触可取消内容接触, Collection View 滚动得很好但如果我将我的手指/光标放在启用了这些选项的单元格上我无法再访问任何单元格。

enter image description here

这让我很困惑。

感谢您阅读/考虑此话题。

最佳答案

让我们看看您的两个属性的作用。

delaysContentTouches:如果此属性的值为 true,则 ScrollView 会延迟处理触摸手势,直到它可以确定滚动是否是意图。如果值为 false , ScrollView 立即调用 touchesShouldBegin(_:with:in:)。默认值为真。

canCancelContentTouches:如果此属性的值为 true 并且内容中的 View 已开始跟踪触摸它的手指,并且如果用户拖动手指足以启动滚动,则该 View 会收到touchesCancelled(_:with:) 消息和 ScrollView 将触摸作为滚动处理。如果此属性的值为 false,一旦内容 View 开始跟踪,无论手指移动如何, ScrollView 都不会滚动。

首先,您将 delaysContentTouches 设置为 false。所以 ScrollView 立即调用内容 View 的触摸处理方法,让它处理触摸。显然,即使您拖动, ScrollView 也不会因此立即开始滚动。

其次,您还将 canCancelContentTouches 设置为 false。但是,如果不允许 ScrollView “接管”内容已经处理的触摸(通过取消它们),则它以后也永远无法开始滚动。因此,如果您触摸到内容 View ,则 ScrollView 无法开始滚动:不允许立即滚动,因为不允许延迟内容触摸,并且无法开始滚动稍后因为它无法取消内容触摸。

我不知道您的单元格中发生了什么,也不确定您在其中输入了什么代码。但是,您可能应该允许您的 tableview 延迟触摸(这意味着您的单元格不会处理立即取消的滑动,因为它们本来是滚动手势),并取消内容触摸(这意味着当您触摸向下并且不要松开,您仍然可以在单元格突出显示后开始滚动手势)。

关于ios - UIKit Collection View ,奇怪的行为(访问/滚动单元格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40898781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com