【问题标题】:UISearchController black screenUISearchController 黑屏
【发布时间】:2017-06-18 13:29:57
【问题描述】:

我已经查看了此问题的其他答案,但它们并没有解决我的问题。

这是我的故事板设置:

在我的 UITableViewController 中,如果我设置了self.definesPresentationContext = true,那么搜索栏将出现在每个选项卡上。如果我不这样做,那么在单击搜索然后切换到另一个选项卡并切换回来后,表格将变黑。

解决方法 1:关闭 searchController 或将 viewWillDisappear 中的 isActive 设置为 false。

问题:每次来回切换时,搜索栏都会从顶部向下推:

解决方法 2:设置searchController.searchBar.isHidden = true

问题:在我的另一个也使用UISearchController 的选项卡中,由于另一个搜索栏已经存在(但隐藏),它无法显示范围: Attempt to present <UISearchController: 0x7ff81ac0aa30> on <xxx.ViewController: 0x7ff81ac0a6f0> which is already presenting (null)

【问题讨论】:

    标签: ios swift xcode uisearchbar uisearchcontroller


    【解决方案1】:

    我遇到了同样的问题并且已得到修复,正确处理了definesPresentationContext,所以我只需在viewDidAppear 中将此属性定义为true,然后在viewWillDisappear 中将其设置为false

    override func viewDidAppear(_ animated: Bool) {
            super.viewDidAppear(animated)
            if(self.searchController == nil)
            {
                self.setupSearchBar()
            }else{
                self.definesPresentationContext = true
            }
        }
    
    override func viewWillDisappear(_ animated: Bool) {
        self.searchController!.isActive = false
        self.searchController!.searchBar.removeFromSuperview()
        self.definesPresentationContext = false
        if(self.showingSearchBar)
        {
            self.rigthNavBarButtonAction()
        }
        super.viewWillDisappear(animated)
    }
    

    希望对你有帮助

    【讨论】:

    • 对我不起作用 :( 你有它的最小应用程序吗?
    • @James 我可以为您做一个,但如果您与我分享您在 github 中的存储库,我会审查并调整您的代码,这可能是更好的选择?
    • 只有 2 个文件,所以我只链接粘贴 pastebin.com/raw/udi52aK8,情节提要源:pastebin.com/raw/57zVjN8L。故事板基本上是默认的选项卡式应用程序模板,其中 secondviewcontroller 更改为 tableviewcontroller,并且单元格重用标识符“单元格”。在 iPhone 7S 模拟器 XCode 8.3.3 上测试。
    • @James 好的,我会审核的
    【解决方案2】:

    使用您的解决方法 1,在 viewDidAppear 中设置 self.searchController!.isActive = true 会很神奇。不过,您还需要恢复搜索栏文本。

    【讨论】:

      猜你喜欢
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 2017-07-14
      • 2020-02-15
      相关资源
      最近更新 更多