如何修复 UIPageViewController 页面中突出显示状态的 UIButton 延迟?

How to fix highlighted state UIButton delay in UIPageViewController page?

我有一个屏幕,其中每个页面都有一个 UIPageViewController 我有一个 UIButton。问题是当用户按下按钮时,按钮的 pressed/highlighted 状态有大约半秒的延迟。两个状态图像都使用故事板设置为按钮。

这在模拟器和真实设备上都会发生。

现在,根据我的 Google 搜索,我发现了一些描述此问题的帖子,例如:

UIButton delayed state change

和:

在所有帖子中,解决方案是使用 delaysContentTouches 设置并将其设置为 false

问题是: 我没有找到如何在 UIPageViewController 的情况下应用它。大多数帖子在 UIScrollViewUITableView.

中讨论这个问题

所以,问题是: 如果 UIPageViewController 我该怎么做?我没有看到 UIPageViewController 有这个设置,也没有找到任何其他应用它的方法。

已找到此问题的解决方案,这段代码将修复按钮突出显示的点击延迟,但会阻止按钮本身上的寻呼机滚动。

public override func viewDidAppear(_ animated: Bool) {
    for view in self.view.subviews {
        if view is UIScrollView {
            (view as? UIScrollView)!.delaysContentTouches = false
        }
    }
}

我没有在 UIPageViewController 中找到它的原因是 UIPageViewController 不是我预期的 UIScrollView 的子类,但它包含它作为子视图。