Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UICollectionViewCell中的UIScrollView不工作_Ios_Objective C_Uiscrollview_Uicollectionview - Fatal编程技术网

Ios UICollectionViewCell中的UIScrollView不工作

Ios UICollectionViewCell中的UIScrollView不工作,ios,objective-c,uiscrollview,uicollectionview,Ios,Objective C,Uiscrollview,Uicollectionview,我有一个带有自定义UICollectionViewCell的UICollectionView。UICollectionView水平滚动,每个单元格占据所有可见屏幕 UICollectionViewCell有一个UIView子视图,它又有一个UIScrollView子视图 UIScrollView旨在垂直滚动,但根本不滚动。我尝试设置滚动视图的contentSize,但没有成功 我怀疑UIScrollView没有收到任何触摸事件,而不是大小问题 有什么建议吗 编辑>> 我现在确定这是一个事件问题,

我有一个带有自定义
UICollectionViewCell
UICollectionView
UICollectionView
水平滚动,每个单元格占据所有可见屏幕

UICollectionViewCell
有一个
UIView
子视图,它又有一个
UIScrollView
子视图

UIScrollView
旨在垂直滚动,但根本不滚动。我尝试设置滚动视图的
contentSize
,但没有成功

我怀疑
UIScrollView
没有收到任何触摸事件,而不是大小问题

有什么建议吗

编辑>>

我现在确定这是一个事件问题,而不是任何特定于
UIScrollView
的问题

我现在已经覆盖了
UICollectionViewCell
UIView
中的
pointInside:
方法,现在每次点击它都可以看到它返回false。在这种情况下,您可能会认为tap事件会传播到下一个子视图,但是
UIView
仍然没有获取事件。我已尝试将
uigesturecognizer
添加到
UIView
中,但它从未注册点击


这里有什么东西可以截取我不知道的事件吗?

尝试为
UIView
禁用
userInteractionEnabled
,并为您的
UIScrollView
启用它。我一直在尝试用scrollview解决类似的问题,您对事件的编辑提醒我这个问题(这又解决了我的问题)

您可能需要使用UICollectionReusableView,而不是UICollectionViewCell。更改类对我来说很有效,因为我在标题中使用了按钮(最近使用了滚动视图)

但是我还没有尝试过单元格本身。对于从UICollectionViewCell捕获事件,以下内容可能会有所帮助?

我不确定这是否是你的问题,但这是我的问题-我把它放在这里,以防其他人出于同样的原因遇到这个问题。我想在
UICollectionReusableView
中放一个
UICrollView
但我无意中创建了我的自定义类作为

class CustomCellHeader: UICollectionViewCell {


}
而不是

class CustomCellHeader: UICollectionReusableView {


}
一旦我改变了这一点,我的标题单元格中的
UIScrollView
就开始生效了

  • 将可滚动内容嵌入单元格内的滚动视图中
  • 将“UICollectionViewDelegateFlowLayout”添加到UICollectionViewCell,即:

    class SomeCollectionCell: UICollectionViewCell, UICollectionViewDelegateFlowLayout {
    } 类SomeCollectionCell:UICollectionViewCell,UICollectionViewDelegateFlowLayout{
    }

  • 现在在单元格内滚动应该可以了。

    谢谢,但这并不能解决问题。此外,我偶尔会在CollectionView之外加载UIView/UIScrollView。当我在UIView上禁用userInteractionEnabled并在UIScrollView上启用它时,我也不会在那里得到任何滚动。