繁体   English   中英

如何将NavigationBar(没有NavigationController)和SearchBar添加到TableView

[英]How to add NavigationBar (without NavigationController) and SearchBar to a TableView

我觉得这真的不应该给我带来的麻烦和我错过的东西,但我似乎无法让它发挥作用。 所以我想要一个在3个不同的TableView之间切换的TabBar。 所有这些都需要一个NavigationBar而不是一个NavigationController(因为它都是在初始模态进入TabBarController之后发生的)。 我所追求的完美例子是Apple Maps书签。

我尝试了三种不同的方法,所有这些方法都以不同的方式失败了:

  1. 添加一个TableView,然后添加一个NavBar,然后添加SearchBar。 SearchBar只是替换了NavBar。
  2. 添加一个视图,然后将NavBar添加到此。 然后将TableView添加为subView。 当我将SearchBar添加到这个子视图时,它最终会在原型单元格下面运行(没有尝试运行它,因为我必须编写一个新的ViewController来处理TableView现在是一个子视图并且不认为值得的事实它只是给出了布局问题)。
  3. 添加一个视图,然后添加一个NavBar。 然后添加一个具有TableViewController的ContainerView。 这只是在跑步时崩溃了。 我不确定这里的错误是什么,因为我不太确定在哪里可以捕获任何异常...

到目前为止,我已经在IB中实现了我的大部分界面,并且希望尽可能地保持这种方式,但我确信必须有一些明显我在这里缺失的东西。 我已经很长时间没有进行过iOS编程了,所以如果我错过了一些基本的东西,那就轻松吧! 任何帮助将非常感激。 即使它只是说我应该采用哪种方法并继续尝试。 谢谢!

编辑

我应该提一下,当我说TableViewController时,我的意思是TableViewController的自定义子类,它使用FetchedResultsController来填充单元格。

如果您要对新的视图控制器(或带有指向导航控制器的选项卡的标签栏控制器)进行模态转换,并且您希望该视图控制器具有导航栏,那么您应该选择视图控制器想要以模态方式呈现,将其嵌入导航控制器(Editor-> Embed In-> Navigation Controller),然后以模态方式转换到导航控制器。 相同的概念适用于您的标签栏控制器,除了它们将是关系segues。 带导航栏的模态segue的图像

您应该向UIViewController(而不是表视图控制器)添加导航栏,然后添加表视图,并向该表视图添加搜索栏和单元格。 我测试了这个,它工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM