3

次のコードを使用して、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 で設定ページをフォーム シートではなく通常のモーダル ビューとして呼び出すと、両方とも呼び出されます。助けてください。ありがとう!

4

1 に答える 1