iphone - 如何将导航栏(没有导航 Controller )和搜索栏添加到 TableView

标签 iphone ios uitableview interface-builder uisearchbar

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

我尝试了三种不同的方法,但都以不同的方式失败了:

  1. 添加一个 TableView,然后向其添加一个 NavBar,然后添加 SearchBar。 SearchBar 只是替换了 NavBar。
  2. 添加一个 View ,然后向其中添加导航栏。然后将 TableView 添加为 subview 。当我将 SearchBar 添加到此 subview 时,它最终位于原型(prototype)单元格下方(没有尝试运行它,因为我必须编写一个新的 ViewController 来处理 TableView 现在是一个 subview 并且认为它不值得的事实它只是还没有考虑到布局问题)。
  3. 添加一个 View ,然后向其添加一个导航栏。然后添加一个具有 TableViewController 的 ContainerView。这只会在运行时崩溃。我不确定这里的错误是什么,因为我不太确定在哪里捕获任何异常...

到目前为止,我已经在 IB 中实现了我的大部分界面,并希望尽可能保持这种状态,但我确信这里肯定缺少一些明显的东西。我从事 iOS 编程的时间不长,所以如果我遗漏了一些基本知识,请放轻松!任何帮助将不胜感激。即使只是说我应该采用上述哪种方法并继续尝试。谢谢!

编辑

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

最佳答案

如果您要对新的 View Controller (或带有指向导航 Controller 的选项卡的选项卡栏 Controller )进行模式转换,并且您希望该 View Controller 具有导航栏,那么您应该选择要以模态方式呈现的 View Controller ,将其嵌入导航 Controller (编辑器->嵌入->导航 Controller ),然后以模态方式连接到导航 Controller 。相同的概念适用于您的选项卡栏 Controller ,除了它们将是关系 segues。 image of modal segue with navigation bar

关于iphone - 如何将导航栏(没有导航 Controller )和搜索栏添加到 TableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18418821/

相关文章:

iphone - 从 UITableView Cell 下载内容

iphone - Safari 开发者工具打开时总是崩溃

ios - 我们可以使用Safari浏览器或WKWebView获得正常质量的YouTube视频吗?

iphone - 我怎样才能让我的 UITableViewCell 包含两个标签?

iphone - CustomCell 中的标签保持为零

iphone - 如何像在 Entity Framework 中一样在核心数据中将属于一个类文件中的一个实体的方法分组?

iphone - 保留 iOS 4 中所有本地推送通知的列表

iphone - 序列化一个包含对象的 NSMutableArray

ios - 坚持使用 UIActionSheetPicker ,iOS

iPhone:向工具栏添加分段控件而不是导航 Controller 中的按钮?