【问题标题】:tvOS 14 - UISearchController dismissing the entire UITabControllertvOS 14 - UISearchController 解散整个 UITabController
【发布时间】:2020-10-09 21:21:23
【问题描述】:

从第一天开始,我就遇到了 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,但结果是一样的。

有人知道吗?

【问题讨论】:

    标签: objective-c tvos uisearchcontroller tvos14


    【解决方案1】:

    我为 Apple 打开了一个错误。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多