0

親View Controller AにView Controller Bがあります。両方のビューが同時に表示されています。

ビュー コントローラー B では、次の方法を使用して新しいビュー コントローラーを提示しようとしています。

- (void) buttonClicked:(id)sender
{
    MyViewcontroller *vc = [[MyViewcontroller alloc] init];
    [self presentViewController:vc animated:YES completion:nil];
}

View Controller は iOS6 で正しく表示さMyViewControllerれ、次の方法を使用して閉じます。

- (IBAction)backButtonPressed:(id)sender {
    [self dismissViewControllerAnimated:YES completion:nil];
}

しかし、iOS 5.1 と iOS 6 には違いがあります。

QN1: 解任時に、View Controller A & BviewDidAppearが呼び出されません。トリガーされるはずですか?

MyViewControllerQN2: iOS 5.1.1 で表示されません。View Controller Bを子コンテナとしてAに追加しない限り:

[self addChildViewController:vcB];
[self.view addSubview:vcB.view];

子コントローラーを追加することで、MyViewControllerコントローラー A&B viewDidAppear が閉じられたときに呼び出されることを表示および表示できます。viewDidAppeariOS6 を使用している場合にも呼び出されます。

ここで何が起こっているのかわかりません。

4

1 に答える 1

1

回答 1 :viewDidAppearモーダル ビューを閉じても呼び出されません。

回答 2 : " MyViewController" から " View-controller B" を表示している場合、View-controller B のビューはビュー階層にある必要があります。

ここから、より多くの情報を得ることができます。他のView ControllerからView Controllerを提示する方法

于 2013-01-11T09:54:53.943 に答える