UISearchController iOS 11不在导航栏中损坏?

UISearchController iOS 11不在导航栏中损坏?,ios,objective-c,iphone,uisearchbar,uisearchcontroller,Ios,Objective C,Iphone,Uisearchbar,Uisearchcontroller,我有一个正在制作的应用程序。在iPad上,布局是一个布局上有两个表视图。左侧表格视图有一个搜索栏。在iOS 9/10中,这一点很好——搜索栏在展开时只显示在表视图中。在iOS 11中,相同的代码将使搜索栏扩展到表视图之外,并附加到屏幕顶部的导航栏区域 如果我更改了搜索控制器的显示上下文,那么在iOS 11中,它完全被破坏,无法工作 self.definesPresentationContext = YES; //YES PRESENTS SEARCH BAR IN TABLE VIEW 我已经

我有一个正在制作的应用程序。在iPad上,布局是一个布局上有两个表视图。左侧表格视图有一个搜索栏。在iOS 9/10中,这一点很好——搜索栏在展开时只显示在表视图中。在iOS 11中,相同的代码将使搜索栏扩展到表视图之外,并附加到屏幕顶部的导航栏区域

如果我更改了搜索控制器的显示上下文,那么在iOS 11中,它完全被破坏,无法工作

self.definesPresentationContext = YES; //YES PRESENTS SEARCH BAR IN TABLE VIEW
我已经创建了一个演示项目来简化这个例子,这是直接苹果的表格演示,表格视图不是全屏的。演示文稿上下文可以设置为表视图,也可以不设置,搜索栏范围按钮也可以轻松添加

在演示中,当搜索控制器出现在表视图中时,可以点击它来启动搜索,但对任何点击都没有反应-取消按钮,清除文本的X,尝试移动光标。键盘文本输入有效,它将正确过滤项目。但是你被卡住了,无法退出

这里有一个到演示项目的链接。我是遗漏了什么还是这是一个苹果虫?APLMainTableViewController.m中的大部分代码

完整应用程序图像:

在iOS 10中正确工作的搜索:

带有错误搜索控制器的演示项目屏幕截图:


值得一提的是,我回到了苹果的演示,做了我认为你做的事情(将带有表视图的视图控制器作为嵌入视图放在新的主视图控制器上),并且(a)无法重现你的“取消”问题;但是(b)已经能够重现
scopebuttonitles
问题。好吧,这很有趣,我会再尝试一次。或者在推特上给我发邮件,如果你能把你的版本发给我,我会给你发邮件。谢谢。请看我的演唱会。这表明“取消”按钮可以正常工作(当我使用你的项目时,我确实看到“取消”不起作用,但我没有对你所做的导致这种情况发生的事情进行反向工程)(将带有表视图的视图控制器作为嵌入视图放在新的主视图控制器上)和(a)无法重现“取消”问题;但是(b)已经能够重现
scopeButtonTitles
问题。好吧,这很有趣,我会再尝试一次。或者在twitter上PM我,如果你能将你的版本发送给我,我会给你我的电子邮件。谢谢。请查看我的格式副本。这表明“取消”按钮工作正常(当我使用你的项目时,我确实看到了“取消”)不起作用,但我没有反向工程你做了什么导致了这种情况的发生)。