0

我已经在 XCode 中为我正在处理的 iPhone 项目制作了一个 ViewController,但是我对嵌套的 ViewControllers 以及访问父 ViewController 函数的最佳方法有什么疑问?

本质上,目前我有一个带有 MenuViewController(嵌套)和 GameViewController(嵌套,渲染 OpenGL ES)的 SwitchViewController。

目前,我在有效的 SwitchViewController 中控制了动画视图切换。但是我想在玩家从 MenuViewController 中选择关卡并在 GameViewController 中运行适当的关卡后调用它。不是火箭科学,我知道。

调用父函数的最佳方法是什么?

4

3 回答 3

1

您必须创建一个指向视图控制器父级的指针,并在将视图控制器的视图嵌套在另一个视图中时设置它。

于 2010-04-12T11:51:51.480 回答
1

我不确定我是否正确理解了您的问题,但我会使用委托模式。将指向父视图控制器的指针作为委托传递给嵌套视图控制器 - 这允许您从嵌套视图控制器调用父类上的委托方法。

于 2010-04-12T11:55:02.653 回答
-1

我已经解决了,想分享我的发现。

在子视图或子视图控制器中,您可以使用以下代码作为指向其他位置的指针。

#import "TwoViewAppDelegate.h" // import the header of the class you want to reference


- (IBAction)setRedColor:(id)sender
{
    // Use the class name and create a pointer (in this case mainDelegate)
    TwoViewAppDelegate *mainDelegate = (TwoViewAppDelegate *)[[UIApplication sharedApplication] delegate];
    mainDelegate.textColor = [UIColor redColor];
    [mainDelegate flipToFront];
}
于 2010-04-14T10:23:44.037 回答