BeginAnimations и CommitAnimations с помощью NavigationController.PushViewController - PullRequest
3 голосов
/ 28 марта 2010

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

Любые указатели были бы хороши, примеры, которые я нашел для Monotouch, выполняют анимацию над представлениями в другом представлении.

void ToolbarButtonClick()
{
    InformationController controller = new InformationController();
    NavigationController.PushViewController(controller,true);
}

public class InformationController : UIViewController
{
    public override void ViewDidLoad ()
    {
        UIView.BeginAnimations("Flip");
        UIView.SetAnimationDuration(1.0);
        UIView.SetAnimationTransition(UIViewAnimationTransition.FlipFromRight,View,true);

        base.ViewDidLoad ();
        Title = "Information";
    }

    public override void ViewWillAppear (bool animated)
    {
        base.ViewWillAppear (animated);
    }

    public override void ViewDidAppear (bool animated)
    {
        base.ViewDidAppear (animated);
        UIView.CommitAnimations();
    }
}

Ответы [ 2 ]

4 голосов
/ 31 марта 2010

Я был вроде как там, но вид должен быть взят из NavigationController:

// Push the controller first or the Title doesn't animate
NavigationController.PushViewController(controller,false);

UIView.BeginAnimations(null,IntPtr.Zero);
UIView.SetAnimationDuration(1);
UIView.SetAnimationTransition(UIViewAnimationTransition.FlipFromLeft,
                              NavigationController.View,true);
UIView.CommitAnimations();
0 голосов
/ 30 марта 2010

Я не эксперт, но мне интересно об этом ИСТИНА в PushViewcontroller, который указывает, что он будет анимирован. Меня интересует, заставляет ли NavigationController выполнять начальный объем анимации, а затем - ваш. Когда вы устанавливаете значение false, что происходит? Я знаю, что мы склонны автоматически вводить ИСТИНУ, не задумываясь.

...