Czy można wyświetlić animację pushViewController
wyglądającą jak presentModalViewController
, ale która ma funkcjonalność tła pushViewController
?Wyświetlanie animacji pushviewcontroller wygląda jak presentModalViewController
Odpowiedz
Spróbuj tego:
UIViewController *yourViewController = [[UIViewController alloc]init];
[UIView beginAnimations: @"Showinfo"context: nil];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.75];
[self.navigationController pushViewController: yourViewController animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
Należy rozważyć robi coś takiego:
ViewController *myVC = [[ViewController alloc] initWithFrame:OFF_SCREEN];
[navigationController pushViewController:myVC animated:NO];
gdzie OFF_SCREEN pewne CGRect poniżej ekranu, jak (0, 481, 320, 480). Następnie użyj bloku animacji, aby wyregulować ramkę widoku kontrolera view.origin na (0, 0). Prawdopodobnie chciałbyś zrobić animowany blok w viewDidLoad lub viewDidAppear.
Kontrolery widoku nie mają inicjatora "initWithFrame:" –
Jeśli chcesz animacji blaknięcie, takie podejście działa.
CATransition* transition = [CATransition animation];
transition.duration = 0.3;
transition.type = kCATransitionFade;
transition.subtype = kCATransitionFromTop;
[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
[self.navigationController pushViewController:gridController animated:NO];
Działa jak mistrz! Miłe przejście. Dzięki! –
Hej, który działał świetnie dla mnie, wielkie dzięki! –
Działa pięknie! Wielkie dzięki! – Amit
do wyświetlania animacji PushViewConttroler jak Present poniżej kod działa,
Dla push
ViewController *VC = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
CATransition* transition = [CATransition animation];
transition.duration = 0.4f;
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromTop;
[self.navigationController.view.layer addAnimation:transition
forKey:kCATransition];
[self.navigationController pushViewController:VC animated:NO];
I POP
CATransition* transition = [CATransition animation];
transition.duration = 0.4f;
transition.type = kCATransitionReveal;
transition.subtype = kCATransitionFromBottom;
[self.navigationController.view.layer addAnimation:transition
forKey:kCATransition];
[self.navigationController popViewControllerAnimated:NO];
Jest 1 problem tho ugh, że jego wyświetlacz jest jasny na czarnym tle, gdy idzie w górę/w dół,
Praca nad tym, Jak tylko zostanie zrobione, dodaj nowy kod tutaj.
Oprócz push dodałeś także pop. Słuszna uwaga! –
Ale nadal nie ma krzywej animacji ... –
@Julian, Nie otrzymasz punktu. – Dilip
Dzięki! To było naprawdę bardzo pomocne! –
ładny przykład, to pomoże wielu z nas, thks xCode :) –
Każdy pomysł, jak to zrobić z przejściami w stylu iOS 8? – SleepsOnNewspapers