iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
presentModalViewController:animated: の使用は推奨されなくなったようだ。
presentViewController:animated:completion: を使用するのだが、最後にBlockを指定するので期待したのだが、これはモーダル・ビュー表示後に実行する処理を記述する為で、独自にデリゲートやBlocksを用意する手間を省く為のものではないようだ。残念。
- (IBAction)modalPane:(id)sender
{
ModalPaneViewController *viewController = [[ModalPaneViewController alloc]
initWithNibName:@"ModalPaneViewController"
bundle:nil];
[viewController setCompletionHandler:^(ModalPaneViewControllerResult result) {
switch (result) {
case ModalPaneViewControllerResultCancelled:
[self performSelectorOnMainThread:@selector(didCancel:) withObject:nil waitUntilDone:NO];
break;
case ModalPaneViewControllerResultDone:
[self performSelectorOnMainThread:@selector(didDone:) withObject:nil waitUntilDone:NO];
break;
default:
break;
}
[self dismissModalViewControllerAnimated:YES];
}];
/* [self presentModalViewController:viewController animated:YES]; */
[self presentViewController:viewController animated:YES completion:nil];
}