【发布时间】:2013-08-14 01:30:33
【问题描述】:
我已经实现了一个自定义版本的搜索表单,它的行为很像带有范围栏的 UISearchBar(但实际上出于 UI 原因以编程方式拼凑在一起)。屏幕加载一个 TextField,您在 TextField 中点击,导航栏将在屏幕上显示动画,文本字段向上移动并出现一个分段控件以过滤结果。
无论如何,一切正常,但是当我点击其中一个搜索结果时,我的代码会推送一个新的 ViewController。问题是新控制器在没有导航栏的情况下被推送(因为我在切换到搜索状态时使用了[[self navigationController] setNavigationBarHidden:YES animated:YES])。
我可以在新的 ViewController 被推送时显示导航栏,甚至可以在向新 ViewController 的过渡出现时对其进行动画处理 - 但所有这些解决方案看起来都很笨拙。我希望它像您使用 UISearchBar(实际上更像电子邮件应用程序)一样工作,因为恢复的导航栏似乎只是从右侧滑入,就好像它是子视图控制器的一部分一样。
我希望有一个简单的解决方法...谢谢
【问题讨论】:
-
获得所需行为的一种方法是将新的
UIViewController简单地嵌套在一个完全独立的UINavigationController中 -
这是一个不错的想法,如果我想不出别的东西,值得追求。问题是我没有在新 ViewController 的导航栏中获得“返回”按钮来返回搜索(至少不是没有一些额外的摆弄,我有点希望避免这种情况)。跨度>
-
也许,虽然“额外的摆弄”可能非常少(基本上是一个班轮)。
标签: ios uinavigationcontroller uinavigationbar