UINavigationController 如何成为 UITableView 的 navigationController?
Posted
技术标签:
【中文标题】UINavigationController 如何成为 UITableView 的 navigationController?【英文标题】:How a UINavigationController becomes navigationController of a UITableView? 【发布时间】:2016-04-07 15:21:49 【问题描述】:当我通过将 UITableViewController 作为其根视图控制器传递来初始化 UINavigationController 时,我可以通过 UITableViewController 属性“navigationController”获取 UINavigationController。我想知道:
-
是否在初始化期间自动设置此类属性?
navigationController 是 UITableViewController 或其父类实现的某个协议的属性吗?
【问题讨论】:
没关系,可能会改变。 您的意思是UINavigationController
而不是UINavigationBar
?还有navigationController
而不是navigationBar
?
这里似乎有很多混乱...... UINavigationBar 没有根视图控制器。 UITableView 不是视图控制器......你想要实现什么?
你的意思是UITableViewController
而不是UITableView
?
显示代码,这样我们就不会在 cmets 中混淆:P
【参考方案1】:
UINavigationController
呼叫[rootViewController didMoveToParentViewController:self]
通过这个方法,viewcontrollers 知道他们被添加到哪里了。
viewcontrollers 也有 getter parentViewController
。
navigationController
只是方便获取器,将parentViewController
转换为UINavigationController *
。
【讨论】:
以上是关于UINavigationController 如何成为 UITableView 的 navigationController?的主要内容,如果未能解决你的问题,请参考以下文章
如何扩展 UIView 过去包含 UINavigationController
如何从 UINavigationController 隐藏 UINavigationBar?