如何修复 UIPageViewController 页面中突出显示状态的 UIButton 延迟?
How to fix highlighted state UIButton delay in UIPageViewController page?
我有一个屏幕,其中每个页面都有一个 UIPageViewController
我有一个 UIButton
。问题是当用户按下按钮时,按钮的 pressed/highlighted 状态有大约半秒的延迟。两个状态图像都使用故事板设置为按钮。
这在模拟器和真实设备上都会发生。
现在,根据我的 Google 搜索,我发现了一些描述此问题的帖子,例如:
UIButton delayed state change
和:
在所有帖子中,解决方案是使用 delaysContentTouches
设置并将其设置为 false
。
问题是: 我没有找到如何在 UIPageViewController
的情况下应用它。大多数帖子在 UIScrollView
或 UITableView
.
中讨论这个问题
所以,问题是: 如果 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
的子类,但它包含它作为子视图。
我有一个屏幕,其中每个页面都有一个 UIPageViewController
我有一个 UIButton
。问题是当用户按下按钮时,按钮的 pressed/highlighted 状态有大约半秒的延迟。两个状态图像都使用故事板设置为按钮。
这在模拟器和真实设备上都会发生。
现在,根据我的 Google 搜索,我发现了一些描述此问题的帖子,例如:
UIButton delayed state change
和:
在所有帖子中,解决方案是使用 delaysContentTouches
设置并将其设置为 false
。
问题是: 我没有找到如何在 UIPageViewController
的情况下应用它。大多数帖子在 UIScrollView
或 UITableView
.
所以,问题是: 如果 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
的子类,但它包含它作为子视图。