【问题标题】:BeginAnimations and CommitAnimations with NavigationController.PushViewController使用 NavigationController.PushViewController 的 BeginAnimations 和 CommitAnimations
【发布时间】:2010-03-28 12:49:45
【问题描述】:

当我将控制器推入导航时,我试图让基本的翻转动画过渡正常工作。下面的代码翻转视图,但是视图首先出现(每个元素淡入),然后发生翻转。可以用 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();
    }
}

【问题讨论】:

    标签: uiview xamarin.ios commitanimations beginanimations


    【解决方案1】:

    我在那儿,但需要从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();
    

    【讨论】:

      【解决方案2】:

      我不是专家,但我想知道 PushViewcontroller 上的 TRUE 表示它将被动画化。我想知道这是否使 NavigationController 完成了最初的动画工作量,然后是你的。当您将其设置为 false 时,会发生什么?我知道我们倾向于不假思索地自动将 TRUE 放入其中。

      【讨论】:

      • 如果我删除 TRUE,则根本不会发生动画
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-26
      相关资源
      最近更新 更多