0

从第一天开始,我就遇到了 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];

我也尝试将所有内容包装成 a UISearchContainerViewController,但结果是一样的。

有没有人有任何线索?

4

1 回答 1

0

我为Apple打开了一个错误。

同时,我解决了创建一个新UIViewController的,在UISearchViewController那里展示,然后展示这个新的视图控制器的问题。仅适用于 tvOS14。

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

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

于 2020-10-10T07:15:25.720 回答