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 に答える