当我在导航中按下控制器时,我正在尝试进行基本的翻转动画过渡。下面的代码翻转视图,但视图首先出现(每个元素淡入),然后发生翻转。是否可以使用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();
}
}
答案 0 :(得分:4)
我在那里,但是需要从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();
答案 1 :(得分:0)
我不是专家,但我想知道PushView控制器上的TRUE表示它将被设置为动画。它让我想知道是否这使得NavigationController做了初始的动画工作量,然后是你的。当你将它设置为false时,会发生什么?我知道我们倾向于自动将TRUE放在那里而不考虑。