tvOS 14-UISearchController关闭了整个UITabController

问题描述

从第一天开始,我就一直在UISearchController遇到一些问题,但是我一直设法解决它。但是,使用tvOS 14时,我遇到了一个我不明白的问题:

  1. 我展示了我的标签控制器
  2. 从tabController的viewController之一中,显示searchController;
  3. 我按菜单将其关闭

结果:将关闭searchController和整个tabController。

已执行:仅应关闭searchController并返回到我从中显示的viewController。

这只会在tvOS14中发生,在tvOS13.X中效果很好。

我试图在关闭presentingViewController之前对其进行检查,由于某种原因,它是tabController而不是我从中显示的viewController。 这是要显示代码

    UISearchController *searchController = [[UISearchController alloc] initWithSearchResultsController:resultVC];
    searchController.searchResultsUpdater = resultVC;
    searchController.delegate = resultVC;
    searchController.searchBar.delegate = resultVC;
    
    [strongSelf presentViewController:searchController animated:YES completion:nil];

,当我按下菜单时,或者在resultVC中通过按钮的动作执行此代码

[self dismissViewControllerAnimated:YES completion:nil];

我得到上面解释的结果。 如果执行相同的结果:

[self.searchController dismissViewControllerAnimated:YES completion:nil];

我还尝试将所有内容包装到UISearchContainerViewController中,但结果是相同的。

有人有任何线索吗?

解决方法

我为苹果打开了一个错误。

与此同时,我解决了创建一个新的UIViewController,在其中显示UISearchViewController,然后显示此新视图控制器的问题。仅适用于tvOS14。

要关闭它,我先关闭搜索控制器,然后关闭新的视图控制器。

要处理“菜单”按钮上的点击,我在结果视图控制器和搜索视图控制器中(通过自定义类)覆盖了pressesBegan