我有一个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
做的吗?最佳答案
默认情况下,ScrollViews(包括TableViews)会自动调整其插图,以解决导航栏等问题。这样,内容的顶部可以从导航栏之类的内容开始,但仍可以在其下方滚动。但是,根据您的约束设置方式,您可能已经在考虑此插入项。在这种情况下,可以将视图控制器上的automaticallyAdjustsScrollViewInsets属性设置为NO。
以编程方式:
// Obj-c
[viewController setAutomaticallyAdjustsScrollViewInsets:NO];
// Swift
viewController.automaticallyAdjustsScrollViewInsets = false
分镜脚本(属性检查器):
关于ios - UITableView header 的布局未正确下移,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37576637/