0

我什至不确定子视图是否是 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 中定义的函数?谢谢!

4

1 回答 1

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

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

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

你有很多这种消息传递的核心概念;)

但是为什么不将 EAGLView 和覆盖视图与子视图放在同一个控制器中呢?

于 2011-10-25T19:16:00.653 回答