Предположим, у вас есть:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UIViewController *rootViewController = [[UIViewController alloc] init];
rootViewController.view.backgroundColor = [UIColor whiteColor];
[self.window setRootViewController:rootViewController];
[self.window makeKeyAndVisible];
UINavigationController *modal = [[UINavigationController alloc] initWithRootViewController:[[PTFrontViewController alloc] init]];
modal.modalPresentationStyle = UIModalPresentationFormSheet;
[rootViewController presentViewController:modal animated:YES completion:NULL];
return YES;
}
, тогда как PTFrontViewController
и PTBackViewController
контроллеры представления не имеют ничего интересного в этом примере.
Как вы могли бы выдвинуть экземплярPTBackViewController
из PTFrontViewController
анимация как в UIViewAnimationTransitionFlipFromLeft
или UIViewAnimationTransitionFlipFromRight
?
Я уже хорошо знаю эти три вещи:
- это не совсем то, что вы должныиспользовать
presentViewController
- есть веская причина для
UINavigationController
анимации по умолчанию - есть несколько ответов, как "настроить"
UINavigationController
анимацию по умолчанию при нажатии ивсплывающее окно, но если вы попробуете код для себя, вы заметите, что когда контроллер представления представлен через presentViewController
, существуют тени и фоновые представления, которые не будут правильно анимироваться
Так что, пожалуйста,ответ, принимая во внимание эти вещи.Спасибо.