UITableView标头的布局错误地向下移动

时间:2016-06-01 18:52:51

标签: ios swift uitableview

我有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做的事情吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

默认情况下,ScrollViews(包括TableViews)会自动调整其插图以考虑导航栏等。这允许内容的顶部从导航栏之类的东西开始,但仍然在它们下面滚动。但是,根据您设置约束的方式,您可能已经考虑了这个插图。在这种情况下,您可以将视图控制器上的automaticallyAdjustsScrollViewInsets属性设置为NO。

编程:

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

// Swift
viewController.automaticallyAdjustsScrollViewInsets = false

故事板(属性检查员):

enter image description here