同时可见的视图控制器之间的触发操作

时间:2013-05-28 23:25:10

标签: ios delegation

在搜索,寻找和试验之后,我仍然在一个特定问题上失败。 我是一名编程新手,所以我偶然没有使用正确的搜索词 - 所以如果我创建了一个副本,请耐心等待。

这是我正在努力的情况。

ViewController 1有两个UIToolBars。上部工具栏按钮显示一个值,下部工具栏按钮触发ViewController 2中的一个动作,该动作恰好是通过容器视图嵌入的TableViewController。 原因是 - 我需要在滚动TableView时保持工具栏的位置。

我使用委托协议将VC2中的值发送到VC1的上部工具栏,工作正常。 但我无法使用VC1中的下方工具栏触发VC2中的操作。

我想问三个问题:

1。)触发行动/解决问题的最佳做法是什么? 2.)在VC2上使用名为“theButtonWasTapped”的方法时,代码看起来如何? 3.)方法是通过容器视图以正确的方式嵌入TableView还是有更好的方法?

我试着阅读各种文件,但我甚至不知道在这种情况下从哪里开始。

任何帮助都会受到高度赞赏,因为我已经忍受了几天的沮丧,并且不知道我的精神障碍在哪里结束,而且我的缺席知识开始了。

非常感谢你!

1 个答案:

答案 0 :(得分:1)

如果VC2嵌入在容器视图中,那么它将是VC1的子视图控制器。因此,您可以使用self.childViewControllers [0]从VC1访问它。所以你应该能够在VC1中做这样的事情:

-(IBAction)toolBarButtonTapped:(id) sender {
    SecondViewController *vc2 = self.childViewControllers[0];
    [vc2 methodInVC2];
}