iOS просматривает анимацию - PullRequest
2 голосов
/ 20 ноября 2011

Я пытаюсь создать анимацию для переключения видов на устройствах iOS.Я создал приложение с тремя видами и у меня есть несколько кнопок навигации.Я использую для переключения видов следующее:

-(IBAction) loadThirdView:(id)sender {
[self clearView];
 self.thirdViewController.view.frame = CGRectMake(0, 208, 160, 208);
[self.view insertSubview:thirdViewController.view atIndex:0];
}

Как вы можете видеть, это действие, которое происходит, когда я нажимаю кнопку.То, что я хотел бы, является новым представлением, чтобы появиться оживленно.В частности, я хочу, чтобы он начинался с левой стороны экрана и скользил вправо.Я не хочу, чтобы он просто появился.

Возможно ли это?как я могу это сделать?

Ответы [ 3 ]

4 голосов
/ 20 ноября 2011

О, нет! Ах нет! Пожалуйста, не отображайте UIViewControllers таким образом.

Представьте свой UIViewController следующим образом:

[self presentModalViewController:self.thirdViewController animated:YES]

Перед его представлением вы можете изменить свойство modalTransitionStyle контроллера представления в соответствии с вашими потребностями.

Если используется UINavigationController, используйте вместо:

[yourNavController pushModalViewController:self.thirdViewController animated:YES]

Это хорошая небольшая статья (если не слишком резкая): Злоупотребление UIViewControllers

Чтобы анимировать его так, как вам конкретно хотелось бы (поскольку стиль UINavigationController перемещается справа), вы можете использовать что-то вроде того, что предлагается в этом вопросе SO: направление

3 голосов
/ 20 ноября 2011

Вы можете попробовать

[UIView transitionFromView:currView toView:nextView duration:0.5f options:UIViewAnimationOptionTransitionFlipFromLeft completion:nil];

, если хотите использовать другой тип анимации.Есть много вариантов анимации, которые вы можете выбрать, просто установите options:.

0 голосов
/ 29 апреля 2014

Пример кода:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

[UIView setAnimationDuration:0.6];
yourImageVieew.alpha=0.9;//insert here what you want

[UIView commitAnimations];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...