从EAGLView子视图访问子视图

时间:2011-10-25 18:22:03

标签: iphone view subview eaglview

我甚至不确定子视图是否是EAGLView,但无论如何我都会尝试解释:

在我的应用程序委托didFinishLaunchingWithOptions()函数中,我有以下代码(由于我不认为它们是必要的,所以省略了一些部分):

    CGRect screenBounds = [[UIScreen mainScreen] bounds];

    window = [[UIWindow alloc] initWithFrame: screenBounds];

    view = [[EAGLView alloc] initWithFrame: viewBounds];

    [window addSubview:view];
    [window addSubview: overlayViewController.view];
    [window makeKeyAndVisible];

现在,我在视图中有一些函数(EAGLView),我想从中调用overlayViewController中的一些函数。

例如,在视图中,我可能有一些功能:

-(void)doSomethingInViewController
{
   // somehow call a function within overlayViewController
}

在视图中定义的那个函数中,如何访问overlayViewController中定义的函数?谢谢!

1 个答案:

答案 0 :(得分:1)

  1. Notifications - overlayViewController注册通知,EAGLView发布,overlayViewController接收并调用某些方法。

  2. Delegation - 创建overlayViewController委托协议,在EAGLView中创建委托属性,直接在委托上调用委托方法(overlayViewController)

  3. 周参考 - 例如在EAGLView中创建overlayViewController类型的指定属性

  4. 您有许多此类消息传递的核心概念;)

    但为什么不将EAGLView和叠加视图放在与子视图相同的控制器中?