我有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
做的事情吗?
答案 0 :(得分:2)
默认情况下,ScrollViews(包括TableViews)会自动调整其插图以考虑导航栏等。这允许内容的顶部从导航栏之类的东西开始,但仍然在它们下面滚动。但是,根据您设置约束的方式,您可能已经考虑了这个插图。在这种情况下,您可以将视图控制器上的automaticallyAdjustsScrollViewInsets属性设置为NO。
编程:
// Obj-c
[viewController setAutomaticallyAdjustsScrollViewInsets:NO];
// Swift
viewController.automaticallyAdjustsScrollViewInsets = false
故事板(属性检查员):