在tableviewcell上覆盖按钮,里面有collectionview
Posted
技术标签:
【中文标题】在tableviewcell上覆盖按钮,里面有collectionview【英文标题】:Overlaying buttons on tableviewcell with collectionview inside 【发布时间】:2017-05-30 08:02:05 【问题描述】:我在 UITableViewCell 内实现了一个带有 UICollectionView 的图像滑块,用户可以左右滑动。我想在这个 UITableViewCell 上创建两个按钮,这样用户也可以点击这些按钮来滑动图像。
我通过在 UICollectionViewCells 内的图像上添加按钮来完成此操作,但是当用户向左或向右滑动或点击按钮时,这些按钮也会滑动。
我试图修复 UITableViewCell 上的按钮,但是当我这样做时,无论如何按钮都不会显示。
那么我怎样才能做到这一点,按钮固定在 UITableViewCell 内,而 UITableViewCell 内的 UICollectionView 可以在不影响这两个滑块按钮的情况下移动它的单元格?
在故事板上它看起来像这样:
无法重新排列按钮:
【问题讨论】:
请贴代码 如果您不希望按钮沿着集合视图的内容移动,请将按钮放置在集合视图单元格的视图层次结构之外,与您的集合视图处于同一级别(在您的视图层次结构中)表格视图单元格)。按钮应该位于集合视图的顶部,而不是单元格。 【参考方案1】:将按钮直接添加到表格视图单元格的内容视图中,不要将它们添加到集合视图中。这样他们就可以留在原地。如果您看不到它们,则它们可能位于集合视图下方并被遮挡。通过在文档大纲中拖放来更改界面构建器中视图的顺序。这会改变哪个视图位于顶部。
文档大纲是您在问题中作为屏幕截图发布的视图,从“brandsCollectionTableViewCell”开始。大纲包含单元格的子视图。具有相同父级的视图,例如当前显示在大纲中的图像视图、标签和按钮,将按它们在列表中的位置排列在彼此的“顶部”。因此,您可以拖动该列表中的项目以更改顺序,或选择按钮然后转到 Editor -> Arrange -> Send XX to调整位置。
使用 Xcode 视图层次调试器来帮助您了解正在发生的事情(即调试工具栏上的这个按钮):
3D 视图可让您查看“缺失”按钮的位置。
如果你真的想在集合视图中包含按钮,那么你需要使用自定义集合视图布局来实现浮动视图。这不是一项简单的任务,但我已经写了一些关于它的内容here。
【讨论】:
如何“通过在文档大纲中拖放来更改界面构建器中视图的顺序”?我不明白你回答的这一部分。你是对的,缺少的按钮在集合视图下,只是不可见但仍然存在。 我在答案中添加了更多细节 感谢您的帮助。我尝试了您解释的方式,但在我的 xcode 中禁用了排列字段。我更新了我的答案,以便更好地向您展示。 我在这里找到了解决这个问题的方法:***.com/questions/18194777/…无论如何,谢谢以上是关于在tableviewcell上覆盖按钮,里面有collectionview的主要内容,如果未能解决你的问题,请参考以下文章
MVVMCross iOS如何在TableViewCell按钮中传递参数