2015-09-01 26 views
2

我修改AAPLSearchBarEmbeddedInNavigationBarViewController苹果的UICatalog示例代码中,以便它将另一个AAPLSearchBarEmbeddedInNavigationBarViewController实例推入导航堆栈时,选择一个单元格。在第二个视图控制器中,UISearchBar被设置为UINavigationBar的标题视图(就像第一个视图控件一样)不可打开(与第一个不同)。这看起来像一个错误。我如何解决它?这里是我修改的UICatalog代码: https://github.com/stevemoser/UICatalog第二次推送视图控制器与UISearchController没有收到触摸UINavigationBar

另外我用Xcode 6和7进行了测试。它在两者中都被破坏了。

+1

尝试使用3D视图层次结构调试器工具查看当您有第二个控制器时如何绘制事物。可能是红鲱鱼,但是如果你注释掉self.definesPresentationContext = YES会发生什么情况。这应该不是真的很重要,因为这是模态表示,但以防万一它出于某种原因影响事情。 –

+0

@RoryMcKinnel你把我放在正确的轨道上。看到我的答案。 –

+0

我不喜欢这条线的外观。不过,据我了解,它不应该影响推控制器。我假设它是在那里,如果你在一个单独的控制器模态地显示搜索结果,将强制它在搜索栏下方。无论如何,你的解决方案是有道理的:只有在你是最高管理者的时候才提供上下文。 –

回答

7

解决方法是在离开它时确定第一个VC self.definesPresentationContext = NO,并确保在视图中调用self.definesPresentationContext=YES确实出现,以便可见VC允许定义演示上下文。

感谢Rory McKinnel让我走上正轨。

相关问题