Есть хороший учебник о новых блочных анимациях с MonoTouch? - PullRequest
1 голос
/ 06 декабря 2011

Есть ли хорошее руководство о новых блочных анимациях с MonoTouch?

Все, что я знаю, это то, что вместо обычного метода:

UIView.BeginAnimations("ImageMove");

//code to make changes to the view (move controls, swap views, etc.)

UIView.CommitAnimations();

... новый блочный метод анимации, доступный в iOS 4.0, использует:

UIView.Animate(0.2, () => { /* code to animate */ });

или

UIView.Animate(0.2, delegate() { /* code to animate */ });

Но было бы полезно более обширное руководство.

Заранее спасибо.

1 Ответ

4 голосов
/ 06 декабря 2011

Для monotouch блочной анимации используется следующий метод:

Animate(double, double, UIViewAnimationOptions, MonoTouch.Foundation.NSAction, MonoTouch.Foundation.NSAction)
//Animate( animateWithDuration:delay:options:animations:completion )

Вы можете сослаться на него ЗДЕСЬ .

Пример кода:

UIView.Animate(0.2, () => { /* code to animate */ });

или

UIView.Animate(0.2, delegate() { /* code to animate */ });

И ЗДЕСЬ является списком перечисления для UIViewAnimationOptions.


Я использую метод нижечтобы сделать блочную анимацию для cocoa-touch, вставьте сюда код, возможно, кому-то еще нужно:

[UIView animateWithDuration:delay:options:animations:completion:]

Подробное описание:

[UIView animateWithDuration:<#(NSTimeInterval)#>
                      delay:<#(NSTimeInterval)#>
                    options:<#(UIViewAnimationOptions)#>
                 animations:<#^(void)animations#>
                 completion:<#^(BOOL finished)completion#>];

Вы можете сделать анимацию, например:

[UIView animateWithDuration:0.3f
                      delay:0.0f
                    options:UIViewAnimationOptionCurveEaseInOut
                 animations:^{
                     // Do your animtion here;
                     [yourViewController.view setAlpha:0.0];
                     // ...
                 }
                 completion:^{
                     if (finished) {
                         // Do sth that after the animation
                     }
                 }];
...