1

まず、私は IOS 開発の初心者です。

通常、XCODE で新しいプロジェクトを作成する場合、次のように宣言されたオブジェクトはありません。

    @property (nonatomic, retain) IBOutlet ViewController *viewController;

自動的に作成されAppDelegate.hた それでも、メイン ビューにサブビューとして作成および追加されたカスタム ビューのほとんどは正常に動作します。

ただし、サブアプリケーションでは、上記のようにビュー コントローラーのオブジェクトを宣言する必要があります。次のように、windowのサブビューに追加する必要があります。AppDelegate.m

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

そうしないと、一部のコントローラーのビューMPMediaPlayerController.view(私の場合) などをサブビューとしてビューに適切に追加できませんでしたviewController

なぜこれが起こるのですか?

ビュー コントローラーのオブジェクトをデリゲート クラスで宣言する必要があるのはどのような場合ですか?

4

1 に答える 1

0

使用している Xcode のバージョンとインターフェイスの定義方法によって答えは異なりますが、ストーリーボードで最近何かを想定すると、最初のコントローラーの読み込み中にそれが発生していることが答えになります。

ビューコントローラーを使用するには、それを保持する必要があり、ウィンドウのrootViewControllerが初期のデフォルトです。「起動時の初期ビュー コントローラーの構成」のドキュメントを見ると、いくつかの手順がリストされていることがわかります。

「[...] iOS は次のアクションを実行します。

...

ウィンドウの rootViewController プロパティを新しいビュー コントローラに設定します。」

于 2012-08-06T14:26:23.167 に答える