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
就开始生效了
} 类SomeCollectionCell:UICollectionViewCell,UICollectionViewDelegateFlowLayout{
}
现在在单元格内滚动应该可以了。谢谢,但这并不能解决问题。此外,我偶尔会在CollectionView之外加载UIView/UIScrollView。当我在UIView上禁用userInteractionEnabled并在UIScrollView上启用它时,我也不会在那里得到任何滚动。