表视图标题

时间:2018-04-18 15:22:06

标签: swift uitableview uisearchresultscontroller

这是我之前完成的工作,所以我很困惑为什么它现在无法正常运作。

我想要做的是在我的表格视图的标题中有一个搜索栏,当它变为活动状态时不会移动。我在另一个视图中使用相同的tableView.tableHeaderView方法实现了这一点(两者之间的一个区别是工作searchController位于TableViewController嵌入NavigationController中而不是带有表格的常规ViewController

我偶尔会看到代码,这是照片。

行为不正确:搜索前

Before entering search criteria

搜索后

After entering search criteria

正如您所看到的,在第二张图片中,当searchController变为活动状态时,它会跳到视图的顶部,而不是像我认为的那样停留在headerView。它还会在标题所在的tableView顶部留下一个非常难看的间隙。我大约一年前制作了我的应用程序的先前版本,此屏幕上的搜索功能完美运行,并且使用该项目中的相同确切代码仍导致searchController离开{{1}的这种奇怪行为}。

就我的代码而言,我已使我的课程符合tableView并已实施所需的UISearchResultsUpdating功能。

我在班上宣布了我的变量:

updateSearchResults(for:)

然后在我的var searchController: UISearchController! 中,我执行以下操作:

viewDidLoad

在我的其他 searchController = UISearchController(searchResultsController: nil) searchController.searchResultsUpdater = self searchController.dimsBackgroundDuringPresentation = false searchController.searchBar.barTintColor = .white searchController.searchBar.backgroundImage = UIImage() searchController.searchBar.tintColor = GlobalPropertyKeys.LovalyticsBlue searchController.hidesNavigationBarDuringPresentation = false allListItemsTableView.tableHeaderView = searchController.searchBar 中使用的代码相同(已授予,另一个 viewController,但我也创建了tableViewController对于@IBOutlet,并将tableView附加到searchController。可能值得一提的是,顶部的那些单选按钮会触发我的tableHeaderView以显示不同的数组。在我的应用程序的旧版本中,它非常酷,因为在tableView处于活动状态时切换这些单选按钮会自动显示每个阵列的搜索结果。

我错过了一些非常明显的东西吗?

0 个答案:

没有答案