【问题标题】:Navigation item views disappearing when using multiple search bars and interactive pop gesture使用多个搜索栏和交互式弹出手势时导航项视图消失
【发布时间】:2019-06-04 22:03:01
【问题描述】:

我在UINavigationControllers 中使用多个UISearchBar 作为titleViews 嵌入在UITabBarController 中。当我使用后退按钮推动和弹出视图控制器时,这一切都很好。但是,当我使用交互式弹出手势弹出时,搜索栏开始消失。

我不确定如何解决这个问题。

我尝试在viewWillAppearviewDidAppear 中设置navigationItemtitleView,但两者都不起作用。

搜索栏接受输入和触摸,只是不可见。

这是viewWillAppear 代码:

override func viewWillAppear(_ animated: Bool) {
    print("view will appear from base search")
    super.viewWillAppear(animated)
    print(self.searchController.searchBar)
    self.definesPresentationContext = true
    self.navigationItem.titleView = nil
    self.navigationItem.titleView = self.searchController.searchBar
    self.navigationController?.setNavigationBarHidden(false, animated: true)
}

以下是发生的一些照片:

https://imgur.com/a/OQ7kb1q

第一张照片是首页。

第二张照片是用户输入搜索查询。

第三张照片是用户在执行交互式弹出手势后返回时的照片。

第四张照片显示您仍然可以在搜索栏中输入内容,即使它不可见。

第五张照片显示您仍然可以点击搜索栏旁边的取消按钮,即使它不可见。

【问题讨论】:

    标签: swift uinavigationcontroller uinavigationbar uisearchbar interactivepopgesture


    【解决方案1】:

    我通过设置解决了这个问题:self.navigationItem.searchController = searchController

    而不是设置:

    self.navigationItem.titleView = searchController.searchBar

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-15
      • 1970-01-01
      • 2013-09-27
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 1970-01-01
      • 2014-01-27
      相关资源
      最近更新 更多