将导航控制器栏按钮与嵌入容器视图交互

Posted

技术标签:

【中文标题】将导航控制器栏按钮与嵌入容器视图交互【英文标题】:interact the navigation controller bar button with embed container view 【发布时间】:2013-01-29 10:13:48 【问题描述】:

我创建了一个 UIViewController,并在其中插入了一个容器视图,其中嵌入了一个 UITableViewController。如上图。

当用户单击表格视图单元格时,我想在导航栏上添加一个 UIBarButton。

但是,我该如何管理呢?单击表格视图单元格时可以升起 DatePicker,但是当我在表格视图控制器实现文件中调用 self.presentingViewController 时,它返回(null),与调用 self.parentViewController 时相同

【问题讨论】:

【参考方案1】:

您可能试图过早地访问父控制器。如果您在 viewDidLoad 中记录 self.parentViewController,它将返回 null,但它应该从 viewDidAppear 返回正确的控制器,当然也从 didSelectRowAtIndexPath 方法返回。在这种情况下使用 parentViewController 是正确的,而不是呈现 ViewController。

【讨论】:

【参考方案2】:

我建议在 ViewController 本身中实现 ​​UITableViewController 委托和数据源方法。 这样您就不必担心访问包含 UITableView 的 ViewController。

【讨论】:

以上是关于将导航控制器栏按钮与嵌入容器视图交互的主要内容,如果未能解决你的问题,请参考以下文章

使用容器视图控制器访问导航栏

如何以编程方式将视图控制器嵌入到导航视图控制器中

UITabBarController 内视图控制器的不同导航栏按钮/标题

模态segue推动顶部的附加导航栏滑动

iOS:当从主视图控制器嵌入时,导航栏不显示

所有标签栏控制器的栏按钮