我在制作天气应用。我可以使用已启用分页的集合视图在不同位置之间交换。在每个页面中都有另一个集合视图,其中显示不同时间的天气。当我在子滚动视图上拖动和释放时,它的移动就像它有动能一样,当它停止滚动时,主滚动视图开始滚动,就像它从子滚动视图获取剩余的能量一样。我不希望它是某种连接,所以它需要更像在苹果的天气应用程序。
也很感谢你对我的设计有任何建议。
编辑:实际上,在滚动视图中有集合视图,而不是两个集合视图的集合视图
发布于 2022-03-19 05:25:18
我能想到的一种方法是检测与之交互的内容,然后在此基础上防止滚动功能。
这样做的一种方法是对主集合视图进行override hitTest。
以下是您可以尝试的:
1.创建自定义UICollectionView子类
class CustomCollectionView: UICollectionView
{
override func hitTest(_ point: CGPoint,
with event: UIEvent?) -> UIView? {
// Get the view you are interacting with
let view = super.hitTest(point, with: event)
// Allow interaction if we are interacting with the main
// collection view itself
if view is CustomCollectionView {
return view
}
// Return nil to prevent interaction since we are
// interacting with something besides the main collection view
return nil
}
}2.然后仅使用此自定义类创建主/父UICollectionView
private var containerCollectionView: CustomCollectionView!所以希望这能
试试看这是否有帮助
https://stackoverflow.com/questions/71533458
复制相似问题