我有一个UITableView,在其中添加了带有这些预设的搜索栏到tableHeaderView

searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = false
searchController.searchBar.placeholder = "Search by name or phone number"
searchController.searchBar.searchBarStyle = .Minimal
searchController.hidesNavigationBarDuringPresentation = false
tableView.tableHeaderView = searchController.searchBar

但是,一旦我运行该程序,它就会笨拙地向下移动。我已经检查了故事板上的约束,但据我所知它设置正确。这是tableHeaderView做的吗?

ios - UITableView header 的布局未正确下移-LMLPHP

最佳答案

默认情况下,ScrollViews(包括TableViews)会自动调整其插图,以解决导航栏等问题。这样,内容的顶部可以从导航栏之类的内容开始,但仍可以在其下方滚动。但是,根据您的约束设置方式,您可能已经在考虑此插入项。在这种情况下,可以将视图控制器上的automaticallyAdjustsScrollViewInsets属性设置为NO。

以编程方式:

// Obj-c
[viewController setAutomaticallyAdjustsScrollViewInsets:NO];

// Swift
viewController.automaticallyAdjustsScrollViewInsets = false

分镜脚本(属性检查器):

ios - UITableView header 的布局未正确下移-LMLPHP

关于ios - UITableView header 的布局未正确下移,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37576637/

10-09 01:26