0

私は(しようとしている)メインView Controllerコンテナを実装して、最初に紹介View Controllerをインスタンス化し、次に実際のアプリケーションView Controllerを後でインスタンス化します。しかし、私はそれを機能させることができず、本当に基本的なものが欠けていると感じています. 導入ビュー コントローラーは、initWithFrame の導入ビューに読み込まれます。

次のインターフェースを使用します。

@interface ViewControllerMain : UIViewController
@property (strong, nonatomic) ViewControllerIntroduction *viewControllerIntroduction;
@end

そして、次の実装

@implementation ViewControllerMain

- (void)loadView
{
    //  Instantiate the view controller for the adventure view
    self.viewControllerIntroduction = [ [ [ ViewControllerIntroduction alloc] init ] autorelease ];
}

- (void)viewDidLoad
{
    [ super viewDidLoad ];

    //  Instantiate the view controller for the introduction view
    [ self addChildViewController: self.viewControllerIntroduction ];
    [ self.view addSubview: self.viewControllerIntroduction.view ];
    [ self.viewControllerIntroduction didMoveToParentViewController: self ];
}

@end

addSubView ステートメントを通過すると、addChildViewController ステートメントに戻ります。

私はこれを何時間も解決しようとしてきましたが、助けていただければ幸いです。

4

1 に答える 1

2

-loadViewビュー コントローラーのビューを明示的に作成する場合にのみ、メソッドをオーバーライドする必要があります( self.view)。メソッドを削除-loadViewし、 の初期化を に移動しself.viewControllerIntroductionます-viewDidLoad

于 2013-01-04T10:39:30.090 に答える