UISearchController 与 UITableView ui 故障

UISearchController with UITableView ui glitch

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

我正在使用带有 UITableView 的 UIViewController。 我读到它可能与约束有关,我将 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

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

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