次のコードを使用して、viewController のフォーム シートとして設定ページを呼び出しています。
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
NSString *device = [standardUserDefaults objectForKey:@"Device"];
if ([device isEqualToString:@"iPhone"]) {
Settings_iPhone *screen = [[Settings_iPhone alloc] initWithNibName:nil bundle:nil];
screen.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:screen animated:YES];
[screen release];
}
if ([device isEqualToString:@"iPad"]) {
Settings_iPhone *screen = [[Settings_iPhone alloc] initWithNibName:@"Settings_iPad" bundle:nil];
screen.modalPresentationStyle = UIModalPresentationFormSheet;
screen.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:screen animated:YES];
[screen release];
}
設定ページが呼び出されて閉じられると、viewDidAppear と viewWillAppear は、iPad でのみ元のページで呼び出されません。iPhone では、フォームシートではないので問題なく動作します。さらに、iPad で設定ページをフォーム シートではなく通常のモーダル ビューとして呼び出すと、両方とも呼び出されます。助けてください。ありがとう!