Chcę pokazać niestandardową animację podczas przesuwania kontrolera widoku: Chciałbym osiągnąć coś w rodzaju animacji "expand", co oznacza, że nowy widok rozszerza się z danego prostokąta, powiedzmy [100, 100 220,380] podczas animacji na pełny ekran.Niestandardowa animacja do przesuwania UIViewController
Wszelkie sugestie od czego zacząć, a także wszelkie dokumenty, samouczki, linki? :)
W porządku. Mogłem zrobić poszerzyć animację z następującego kodu:
if ([coming.view superview] == nil)
[self.view addSubview:coming.view];
coming.view.frame = CGRectMake(160,160,0,0);
[UIView beginAnimations:@"frame" context:nil];
[UIView setAnimationDuration:4];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[coming viewWillAppear:YES];
[going viewWillAppear:YES];
coming.view.frame = CGRectMake(0, 0, 320, 480);
[going viewDidDisappear:YES];
[coming viewDidAppear:YES];
[UIView commitAnimations];
moim zdaniem jest wyświetlany prawidłowo, ale niestety pasek nawigacyjny nie jest aktualizowana. Czy istnieje sposób, aby to zrobić ręcznie?
W przykładowym kodzie wywoływana jest funkcja o wartości 0,03 s, która aktualizuje przekształcenie widoku. Niestety, po naciśnięciu przycisku UIViewController
nie mogę zmienić rozmiaru ramki widoku ... czy ja?
Próbowałem tego podejścia, ale problem polega na tym, że po użyciu tego przycisku pierwszy kontroler widoku znika, zanim następny kontroler zacznie animować. Co powinno się stać: 1) następny kontroler widoku animuje się, a jego widok całkowicie pokrywa widok starego vc, a następnie wyskakuje stary vc. Kompiluję system iOS 4.3, a to nie działa. – SpaceDog
To także nie jest skalowalne. Kontroler nawigacyjny powinien obsługiwać animację. To jest hack, który musiałbyś zaimplementować dla każdego pchanego kontrolera widoku. –