gpt4 book ai didi

iOS 11 bug - 带有搜索栏的 TableView 向上滚动后跳回

转载 作者:行者123 更新时间:2023-11-30 12:08:28 27 4
gpt4 key购买 nike

我在使用 iOS11 时遇到 UISearchController 搜索结果 tableView 问题,其中包含一些单元格。我向上滚动 tableView,然后完成滚动并将手指从屏幕上移开。之后,tableView 必须向下滚动到边框以显示所有可用单元格。但是滚动被卡住了 0.5 秒,然后 tableView 非常强烈且快速地跳回来。看起来太糟糕了。

搜索栏位于导航栏上。当我滚动时,不会执行任何代码,因为所有单元格都保留在屏幕范围内。我给每个 Controller 函数都设置了断点,但它们不起作用。

我录制了有关此错误的视频。该视频可在以下位置观看:https://youtu.be/g3LqdpI4FeA

如何修复它?

最佳答案

我解决了这个问题。该错误的存在是因为当 searchBar 处于事件状态并单独保持在屏幕顶部时,tableView 尝试滚动包括 searchBar 在内的单元格。

解决方案是在 searchBar 处于事件状态时强制更改值 navigationItem.hidesSearchBarWhenScrolling 为 false,并在 searchBar 关闭时将其返回。

func willPresentSearchController(_: UISearchController) {
if #available(iOS 11.0, *) {
navigationItem.hidesSearchBarWhenScrolling = false
}
}

func willDismissSearchController(_ searchController: UISearchController) {
if #available(iOS 11.0, *) {
navigationItem.hidesSearchBarWhenScrolling = true
}
}

关于iOS 11 bug - 带有搜索栏的 TableView 向上滚动后跳回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46385169/

27 4 0