问题描述
从第一天开始,我就一直在UISearchController遇到一些问题,但是我一直设法解决它。但是,使用tvOS 14时,我遇到了一个我不明白的问题:
结果:将关闭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
。