gpt4 book ai didi

ios - UISearchController 的 UITableView 顶部的额外空间

转载 作者:可可西里 更新时间:2023-11-01 05:11:11 25 4
gpt4 key购买 nike

我像这样设置了一个 UISearchController:

    searchResultsController = SearchResultsController()

searchController = UISearchController(searchResultsController: searchResultsController)
searchController.searchResultsUpdater = self
searchController.hidesNavigationBarDuringPresentation = false
searchController.dimsBackgroundDuringPresentation = true
searchController.searchBar.searchBarStyle = .minimal
searchController.delegate = self
definesPresentationContext = true

navigationItem.titleView = searchController.searchBar

SearchResultsController 只是一个带有 UITableView 的 View Controller ,用于显示搜索结果。

当设备处于纵向模式时,开始以纵向模式搜索,table view 顶部有一个额外的空间(RESULT header 是 table view 的开始)

Device in portrait - Start search in portrait

然后如果我旋转到横向模式,空间就消失了:

Device in landscape - Start search in portrait

当设备处于横向模式并且我开始搜索时,表格 View 被切断:

Device in landscape - Start search in landscape

然后,如果我旋转到纵向,表格 View 将非常适合:

Device in portrait - Start search in landscape

额外的空间高度与状态栏高度完全相同。所以我想知道这里有什么与状态栏相关的东西。

如果我将搜索栏指定为 TableView 的 tableHeaderView,则不会发生这种情况。它仅在搜索栏位于导航标题中时发生。有人知道为什么吗?

最佳答案

显然automaticallyAdjustsScrollViewInsets 已被弃用。

'automaticallyAdjustsScrollViewInsets' was deprecated in iOS 11.0: Use UIScrollView's contentInsetAdjustmentBehavior instead

所以我建议这样做:

searchResultsController.tableView.contentInsetAdjustmentBehavior = .never

它对我来说就像一个魅力。一些有用的文档:

contentInsetAdjustmentBehavior

UIScrollViewContentInsetAdjustmentBehavior

关于ios - UISearchController 的 UITableView 顶部的额外空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40435806/

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