2013-01-24 19 views
1

我设计模仿的类似路径或Facebook的功能(滑动甲板效果)的自定义容器视图控制器。为了与这些控制器进行通信,我定义了一个协议,允许向他们询问一些信息/提醒他们一些事件。现在添加UINavigationController的功能到容器控制器具有限定协议

,我已经决定,我想嵌入导航控制器,这些子视图控制器之一。不幸的是,导航控制器现在正在接收这些协议方法,并且我正在崩溃。

我的临时解决方案是创建一个要求,我想谈谈控制器是否是逸岸导航控制器的中介方法,如果是,将消息发送到根。

是否有这样做的任何更优雅的方式?似乎代码味道必须编写一个'in between'方法来执行此检查,以检查我的基本控制器中的每种单一协议方法。有什么想法吗??

感谢

回答

0

听起来像是你需要将与委托建立你的孩子视图控制器和发送它的消息,其委托,而不是它的父。

如果你不知道代表:Cocoa Fundamentals Guide

+0

等待,但我想打从我的容器给孩子打电话。是不是为错误的方向创建一个委托人?我不知道如何保持这个控制器的灵活性,同时必须跟踪子控制器的所有单独实例。 –

+0

或许要做到这一点的最好办法是重写的currentChildViewController吸气,然后执行的导航控制器有检查。 –

+0

如果是这样的话,父母为什么不能够坚持对孩子的引用? –

2

您已经尝试了NavigationController中嵌入父视图控制器,而不是特定的子控制器的?通过这样做,您可以有效地让所有儿童控制器参与导航。这将允许您正确使用您的协议。

相关问题