ios - 将 subview 添加到 UICollectionView - 禁用滚动

标签 ios objective-c uicollectionview

我想向 UICollectionView 添加一个 subview ,以便制作一个与 collectionview 一起滚动的左侧面板。

使用

[self.collectionView addSubview:myView]

所有触摸都被禁用,我无法再 ScrollView 。我读过像这样将 subview 添加到 collectionView 是不好的做法。这是真的吗?为什么它会禁用触摸到达collectionView事件时
userInteractionEnabled = NO

我正在尝试这样做:imgur link通过抓取每个部分中第一个单元格的框架位置,并向 myView 添加一个具有相同 y 值的点。

谢谢你的帮助!

最佳答案

使用 addSubview: 添加 subview 方法到 UICollectionView是非常糟糕的做法。它会在 CollectionView 的正常行为中导致许多不同的问题。它可以阻挡它下面的 View ,捕获触摸事件,阻止它们到达 CollectionView 中的实际 ScrollView 等。使用此方法添加的 subview 也不会像 CollectionView 中的其他元素那样滚动。

做你想做的事情的正确方法是实现一个新类型的 UICollectionViewCell对于点,并计算它们在 prepareForLayout 中的位置和 layoutAttributesForElementsInRect:方法。基本上,每一行都会有一个或两个单元格。哪些将有两行将由您在我提到的方法中确定。

事实上,Apple 的文档有一个完美的例子,它比你尝试实现的还要复杂。您应该从 this link 查看它.

关于ios - 将 subview 添加到 UICollectionView - 禁用滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31508427/

相关文章:

objective-c - 关于 iOS 类 "risk"游戏中 2D 的建议

ios - KeychainItemWrapper 类在 ios 9 中出现错误

ios - 如何将静态元素添加到 UICollectionViewController 或使它们与其共享同一屏幕

swift - Collection View 中 PNG 图像的透明背景

ios - 如何将在 Collection View 中选择的所有单元格列出到另一个 View 中

ios - 使用自定义 initWithCoder 初始化 View

objective-c - 查找 UIView 对象的颜色并更改颜色

ios - 读入声音文件,添加回声并写入新的声音文件

ios - NSTextStorage 子类在删除字符时崩溃

iOS:排序和分组 NSFetchedResultsController