UINavigationController -> UIViewController -> UIView -> UITableViewController?

Posted

技术标签:

【中文标题】UINavigationController -> UIViewController -> UIView -> UITableViewController?【英文标题】:UINavigationController -> UIViewController -> UIView -> UITableViewController? 【发布时间】:2011-02-01 03:54:24 【问题描述】:

在 Interface Builder 内部,我有一个 UINavigationController,它包含一个 UIViewController,它里面有一个 UIView。这个 ma​​in UIView 有一堆标签以及一些 ImageView 和自定义 UIView。

我想要做的是在这个 ma​​in UIView 中抛出一个 UITableView。这个 UITableView 将占据 UIView 中大约一半的屏幕。我正在尝试在 UIView 下方添加一个 UITableViewController 但每次我这样做时,UITableViewController 对象都会替换我在 IB 中的 UIViewController 对象??

我做错了什么?

我想要:

UINavigationController UIViewController UIView UITableViewController(因为UTableView会在前面的UIView里面)

我在这个设置中哪里出错了?当我尝试在 IB 中添加 UITableViewController 时,我得到:

UINavigationController UITableViewController(..err?为什么要替换我的 ViewController?)

提前致谢!

【问题讨论】:

【参考方案1】:

将 UITableView 放入 UIView 而不是 UITableViewController 后,然后将 table view 的委托和数据源设置为 UIViewController。 当然,UIViewController 应该实现两个协议(table view deleate 和 data source)。

【讨论】:

是的。做了一堆关于 UITableViewController 如何是 UIViewController 的子类的阅读,一些博客甚至为 never 使用 UITableViewController 提出了论据。我很好。谢谢。【参考方案2】:

您可能根本不需要表格视图控制器。您必须在视图控制器中添加 UITableView 并实现所有必要的数据源和委托方法。

【讨论】:

以上是关于UINavigationController -> UIViewController -> UIView -> UITableViewController?的主要内容,如果未能解决你的问题,请参考以下文章

带有主 UINavigationController 和详细 UINavigationController 的 UISplitViewcontroller

带有 UINavigationController 的 UITabBarController,在 hidesBottomBarWhenPushed 上隐藏 UINavigationController

在 UINavigationController 内的 UITabBarcontroller 中添加 UINavigationController?

UINavigationController 与 AppDelegate 中的 UISegmentedControl 切换 UINavigationController 的 rootviewcontr

从一个 UINavigationController 到另一个 UINavigationController (Swift iOS 9, xcode 7)

UINavigationController