如何修复UIPageView控制器页面中突出显示的状态UIButton延迟?



我有一个屏幕,其中我有一个UIPageViewController在每一页我都有一个UIButton。问题是当用户按下按钮时,按钮的按下/突出显示状态延迟了大约半秒。两个状态图像都设置为使用情节提要的按钮。

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

现在从我的谷歌搜索中,我遇到了一些描述这个问题的帖子,例如:

UIButton 延迟状态更改

和:

UI按钮仅在长按时被点击(突出显示)?

在所有帖子中,解决方案是使用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子类,而是将其作为子视图包含。

最新更新