0

別のView Controllerを提示するViewControllerがあります。2 番目のコントローラーが閉じられると、最初のコントローラー isFromSecondView にブール値があり、true に設定されます。したがって、最初の ViewController が再び表示されると、viewWillAppear が呼び出され、そこからコントローラー内のいくつかのビューを移動できます。このメソッドは正常に機能し、viewWillAppear メソッドは、それが 2 番目のビュー コントローラーからのものかどうかを判断できます。しかし、コントローラーが呼び出されていても、コントローラー内のビューを移動できません。このメソッドは私がこれを行うべき方法ですか、または2番目のコントローラーが閉じられたときにビューを移動する別の方法はありますか?

編集、ビューの移動方法を追加しました:

- (void)moveViews
{
    NSLog(@"moving view");
    [UIView animateWithDuration:0.5
                     animations:^{
                         self.view.center = CGPointMake(160, 250);
                         //self.tableView.center = CGPointMake(160, -100);
                         self.addView.center = CGPointMake(160, 240);
                     }
                     completion:^(BOOL finished){}];
}
4

2 に答える 2

0

dismissViewControllerAnimated使用できる完了ハンドラーがあります。これにより、コントローラーが閉じられるとすぐにアニメーション コードが実行されます。もちろん、これを使用する場合は、別のコントローラーで実行されるハンドラーに変更を加える必要があります。

[self dismissViewControllerAnimated:YES completion:^{
    NSLog(@"moving view");
    [UIView animateWithDuration:0.5
                     animations:^{
                         self.view.center = CGPointMake(160, 250);
                         //self.tableView.center = CGPointMake(160, -100);
                         self.addView.center = CGPointMake(160, 240);
                     }
                     completion:^(BOOL finished){}];
}
于 2012-08-30T13:33:57.323 に答える