在UIPageViewController中滚动WebView的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在UIPageViewController中滚动WebView的问题相关的知识,希望对你有一定的参考价值。

我有一个UIPageViewController,其中每个子视图控制器包含一个WKWebview。 WebView的内容分为两部分:

  • 顶部包含div中固定大小的标题。
  • 底部包含的内容可能比设备大。

您可以在下图中看到一个表示:

Description

当内容大于设备时,用户需要水平滚动内容直到其结束,以便UIPageViewController开始在两个页面之间滑动,这是预期的。

问题是顶部包含固定大小的标题,因此如果用户在标题中开始滚动,它仍然需要水平滚动到内容的末尾以便开始滑动。这显然不是用户友好的,我不知道如何解决这个问题。

你对此有什么建议吗?

答案

你可以试试这样的东西:

  1. 选择两个不同的UIPaginationViews,一个用于标题,一个用于内容。
  2. 现在,将这些UIPaginationView添加到ScrollView并启用垂直滚动。
  3. 在委托方法中,如果用户滚动Header PaginationView的页面,则可以在Contents PaginationView上设置相应的索引。由于标题的宽度等于屏幕的宽度,因此将其滚动到下一页是平滑的。
  4. 现在,当用户滚动底部内容并且页面得到更改时,您必须在顶部分页视图上设置索引以匹配内容分页视图。
  5. 在scrollView中,仅允许垂直滚动。因此,当您滚动时,它将滚动两个UIPaginations视图。

它需要很少的实验才能获得理想的行为,首先要做的就是将HEADER和CONTENT分开。如果可以,那么你可以尝试这种方法。

希望能帮助到你。

以上是关于在UIPageViewController中滚动WebView的问题的主要内容,如果未能解决你的问题,请参考以下文章

在 UIPageViewController 中滚动多个页面会创建白色闪光

在UIPageViewController中滚动WebView的问题

禁用滚动 UIPageViewController

在 Swift 中使用 UIPageViewController 水平滚动 ViewControllers 的按钮

如何让 UIPageViewController 使用过渡样式滚动?

获取 UIPageViewController 的滚动位置