使用静态和滚动子视图实现视图

Posted

技术标签:

【中文标题】使用静态和滚动子视图实现视图【英文标题】:Implementing a view with static and scrolling subviews 【发布时间】:2016-08-05 10:34:15 【问题描述】:

我正在尝试创建一个包含两个子视图、一个静态定位视图和一个滚动视图的视图。滚动视图有一个初始位置,其内容的顶部与静态视图的底部相接,但它可以占据整个屏幕,并在滚动时与静态视图重叠。

类似于 iPhone Plus 设备上的 App Store,除了滚动视图滚动到静态视图上,而不是在它下面。

我正在尝试使用 contentOffset 等于静态视图高度的滚动视图。虽然这在视觉上起到了作用,但它破坏了触摸输入。即使在contentOffset 区域(即显示静态视图的部分)中进行的任何触摸都会发送到滚动视图,而不是静态视图。

任何解决此问题的方法都很好,任何替代的视图配置也是如此。我想要的只是一个静态视图和一个在其上方滚动的滚动视图,其他实现也很好。

谢谢!

【问题讨论】:

【参考方案1】:

好的,所以可以做的就是你可以使用 tableView 来代替。

1) 您的静态视图将位于与现在相同的位置。 tableView 的 frame 原点与静态视图相同。

2) tableView 的第一个单元格的高度与静态视图的高度相同。

3) 在 tableview 的第一个单元格中不添加任何视图,并将其背景颜色设为清晰颜色。

4) tableView 的 Header 高度应为 0。

或者, 如果您在静态视图中有按钮,请将该视图添加到空白单元格并在滚动表格视图时删除该视图。 我认为这可以导致你的欲望观点。

【讨论】:

不过,tableview 的第一个单元格(空白单元格)是否仍会收到任何触摸事件? 很遗憾他们不会。

以上是关于使用静态和滚动子视图实现视图的主要内容,如果未能解决你的问题,请参考以下文章

使用视差滚动实现类似 twitter Profile 的视图

滚动视图顶部的静态按钮 android studio

UITableView 静态单元格作为子视图?

如何将静态 UIButton 覆盖在 UITableView 上

如何将静态 UIButton 覆盖在 UITableView 上

如何使用导航控制器创建静态子视图?