gpt4 book ai didi

ios - 添加 UISearchController 后 UITableView 可以滚动到顶部太远

转载 作者:行者123 更新时间:2023-11-30 11:35:26 25 4
gpt4 key购买 nike

在我使用下面的代码将 UISearchController 添加到 UITableView 后。

lazy var searchCardController: SearchCardController = {
return UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "SearchCard") as? SearchCardController
}()!

lazy var searchController: UISearchController = {
return UISearchController(searchResultsController: searchCardController)
}()

//Core Data
lazy var stack: CoreDataStack = {
let delegate = UIApplication.shared.delegate as! AppDelegate
return delegate.stack
}()

lazy var dataSource: CardCategoryDataSource = {
// Create a fetchrequest
let fr = NSFetchRequest<NSFetchRequestResult>(entityName: "CD_CardCategory")
fr.sortDescriptors = [NSSortDescriptor(key: "name", ascending: true)]

// Create the FetchedResultsController
fetchedResultsController = NSFetchedResultsController(fetchRequest: fr, managedObjectContext: stack.context, sectionNameKeyPath: nil, cacheName: nil)

return CardCategoryDataSource(fetchedResultsController: fetchedResultsController!)
}()


override func viewDidLoad() {
super.viewDidLoad()

tableView.dataSource = dataSource

setupSearchBar()
}

func setupSearchBar() {

searchController.searchBar.delegate = searchCardController
searchController.searchResultsUpdater = searchCardController
searchController.dimsBackgroundDuringPresentation = true
searchController.searchBar.barTintColor = UIColor.black
searchController.searchBar.tintColor = UIColor.white

searchCardController.searchController = searchController

definesPresentationContext = true

self.tableView.tableHeaderView = searchController.searchBar

}

UITableView 可以滚动到顶部太远,这有点奇怪,如下面的屏幕截图所示。 enter image description here

据推测,表格 View 的行为应类似于下面的屏幕截图。 enter image description here

非常感谢任何帮助。

更新:添加了 GIF 以更好地解释问题。 enter image description here

最佳答案

estimatedRowHeight定义为我想要的确切行高后,问题得到解决,如下viewDidLoad所示。

self.tableView.estimatedRowHeight = 150

特别感谢@Harman 给了我这个想法。

关于ios - 添加 UISearchController 后 UITableView 可以滚动到顶部太远,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49829303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com