带有 UITableView ui 故障的 UISearchController

Posted

技术标签:

【中文标题】带有 UITableView ui 故障的 UISearchController【英文标题】:UISearchController with UITableView ui glitch 【发布时间】:2020-06-21 17:21:21 【问题描述】:

我正在实现一个带有 UITableView 的 UISearchController,正如您在视频中看到的那样,当开始在搜索栏中输入时,UISearchBar 的过渡并不平滑,并且 UITableView 会越过它(在 gif 的开头) .

我将 UIViewController 与 UITableView 一起使用。 我读到它可能与约束有关,我将 UITableView 顶部设置为安全区域的顶部并以编程方式添加 UISearchController,如您在此处看到的:

private let searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.searchBar.delegate = self
searchController.obscuresBackgroundDuringPresentation = false
searchController.searchBar.placeholder = "Search"
searchController.searchBar.accessibilityTraits = .searchField
navigationItem.searchController = searchController

Xcode 11.5、ios 13 和 Swift 5

【问题讨论】:

【参考方案1】:

我自己也遇到过很多这样的问题。每次新版本的 iOS 发布时,许多细微的动画都会中断,从而导致糟糕的用户体验。这是我为减少问题所做的工作,尽管它并没有解决所有问题,希望这对你也有帮助。这是我所做的:

最初,我使用的是从UIViewController 继承的ViewController,并在其中包含UITableView,以约束所有4 个边。我将其替换为 UITableViewController 而不是 UIViewController

【讨论】:

以上是关于带有 UITableView ui 故障的 UISearchController的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 中的 UISearchBar

react-交互-异步uis

CQRS, Task Based UIs, Event Sourcing agh!

UISearchController UISearchBar 背景

以编程方式将 UISearchBar 添加到 UITableView 不起作用

如何为不同的 UI 使用多个 Bloc?