解雇UISearchController时,UINavigationBar涵盖UITableView

时间:2016-08-29 23:36:17

标签: ios swift uiviewcontroller uisearchcontroller

我有一个带搜索按钮的UINavigationBar。搜索按钮触发UISearchController:

self.navigationItem.titleView = self.searchController.searchBar
self.searchController.searchBar.becomeFirstResponder()

当用户选择搜索结果时,会推送新的ViewController。如果用户然后点击它们,它们将显示旧的ViewController以及仍然有效的搜索结果。

如果他们然后点击取消以关闭UISearchController,则UINavigationBar现在覆盖视图中的内容。我认为在下一个viewController出现时self.definesPresentationContext trueviewDidLoad可能会设置为false {/ 1}}

Process from left to right

1 个答案:

答案 0 :(得分:0)

如果您认为自己知道问题的原因,是否尝试过评论这些问题?它还能做到吗?

听起来我更像是与UIViewController的automaticallyAdjustsScrollViewInsets属性有关。

尝试在UIViewController上将其设置为false

编辑:

您是否尝试过更改UIViewController的edgesForExtendedLayout属性?

self.edgesForExtendedLayout = UIRectEdgeNone;