как оживить переход между взглядами? - PullRequest
0 голосов
/ 13 сентября 2011

при создании нового сообщения iphone использует анимацию (новый вид отображается в нижней части экрана).Я хочу добавить эту анимацию в свое приложение.Но я не могу найти его в предопределенных типах анимации перехода.Как я могу добавить это?
Пожалуйста, помогите мне.

Ответы [ 5 ]

6 голосов
/ 13 сентября 2011

Вы можете переключаться на другие контроллеры UIView, как это:

[self presentModalViewController:yourUIViewController animated:YES];

Существует много типов анимации, например ...

yourUIViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:yourUIViewController animated:YES];

yourUIViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:yourUIViewController animated:YES];

yourUIViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:yourUIViewController animated:YES];
0 голосов
/ 07 февраля 2013

Это то, как вы можете анимировать переход между различными видами с некоторой задержкой.

- (void)viewsAction:(id)sender
{  

  First *first = [[First alloc] init];

  first.view.frame = CGRectMake(0, 0, 320, 425);

  CATransition *transitionAnimation = [CATransition animation];

  [transitionAnimation setDuration:1];

  [transitionAnimation setType:kCATransitionFade];

   [transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];

   [first.view.layer addAnimation:transitionAnimation forKey:kCATransitionFade];

     [self.view addSubview:first.view]; 

     [first release];

      self.timer = [NSTimer scheduledTimerWithTimeInterval:23 target:self selector:@selector(Second) userInfo:nil repeats:NO];

   }

  -(void)Second 
 {
    Second *second = [[Second alloc] init];

second.view.frame = CGRectMake(0, 0, 320, 425);

CATransition *transitionAnimation = [CATransition animation];

[transitionAnimation setDuration:1];

[transitionAnimation setType:kCATransitionPush];

[transitionAnimation setSubtype:kCATransitionFromRight];

[transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

[second.view.layer addAnimation:transitionAnimation forKey:kCATransitionPush];

[self.view addSubview:second.view]; 

  [second release];

self.timer = [NSTimer scheduledTimerWithTimeInterval:27 target:self selector:@selector(Third) userInfo:nil repeats:NO];
}

Надеюсь, это поможет вам.

0 голосов
/ 13 сентября 2011
              - (void) buttonTouch
        {
        myView *Obj=[[myView alloc]init];
        [self presentModalViewController:Obj animated:YES];


        }

       - (void) buttonTouch 

Этот метод называется, он представляет myView, который будет скользить снизу вверх, как Mail Composer или Message Composer Effect.

            -(void) dismissmyView
             {
               [self dismissModalViewControllerAnimated:YES];
             }  

        -(void) dismissmyView 

Этот метод при вызове отменяет или отменяет текущий ModalView
то есть myView

0 голосов
/ 13 сентября 2011

Вы не должны манипулировать представлениями напрямую. Представления верхнего уровня должны иметь связанный контроллер представления, и контроллер выполнит переходы за вас (как при использовании метода presentModalViewController:animated:).

0 голосов
/ 13 сентября 2011

Это то, что вам нужно:

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated;

В вашем случае вам нужно указать этот модальный стиль перехода, чтобы он пришел снизу:

UIViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:yourUIViewController animated:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...