10

次のようにView Controllerを閉じようとしています:

[composeViewController dismissViewControllerAnimated:YES completion:^{

    NSLog(@"Hello"); // Never outputted
}];

ビュー コントローラーは閉じられますが、何らかの理由で完了ブロックが呼び出されません。

他のView Controllerで完了ブロックが呼び出されないという問題は一度もありません。

ただし、このView Controllerは子View Controllerとして追加されるため、「特別」です(これまでアプリで使用したことはありません)。これにより、完了ブロックが呼び出されないという副作用が発生しますか?

次のように追加されます。

UIViewController *rootVC = [UIApplication sharedApplication].delegate.window.rootViewController;
[rootVC addChildViewController:self];
[rootVC.view addSubview:self.view];
[self didMoveToParentViewController:rootVC];
4

2 に答える 2

1

問題が何であるかを発見しました:私が使用していたサードパーティのView Controllerは、- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion実際に呼び出すことなくオーバーライドされましたcompletion()

于 2013-06-26T12:33:11.840 に答える