0

在搜索、查看和试验之后,我继续在特定问题上失败。我是一个编程新手,所以碰巧我没有使用正确的搜索词——所以请多多包涵,以防我创建了一个重复项。

这是我正在努力解决的情况。

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

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

我想问三个问题:

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

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

任何帮助将不胜感激,因为我已经为此沮丧了好几天,不知道我的精神障碍在哪里结束,我的缺席知识从哪里开始。

非常感谢!

4

1 回答 1

1

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

-(IBAction)toolBarButtonTapped:(id) sender {
    SecondViewController *vc2 = self.childViewControllers[0];
    [vc2 methodInVC2];
}
于 2013-05-29T00:30:33.393 回答