我遇到动画视图移动的问题。 它可以工作但如果我开始动画动画就会卡住。没有动画,它可以流畅地工作。但是,如果我设置动画,它会开始卡住。这是我的代码:
UIView.BeginAnimations("Slide");
this.detailController.View.Layer.Position = new PointF(50,50);
UIView.CommitAnimations();
我已经尝试过:
this.detailController.View.Center = new PointF(50,50);
有没有可能让这个动画更流畅?
提前致谢。
答案 0 :(得分:1)
默认动画持续时间为.2秒,这可能太快而无法在您的情况下显示。
如果您想要流畅的动画,请使用持续时间和缓动功能。只需确保在动画块的开头(BeginAnimation
之后)设置这些参数,否则将不会考虑这些参数。
UIView.BeginAnimations("Slide");
UIView.SetAnimationDuration (2);
UIView.SetAnimationCurve (UIViewAnimationCurve.EaseInOut);
detailController.View.Layer.Position = new PointF(50,50);
UIView.CommitAnimations();
有关详情,请参阅http://docs.xamarin.com/recipes/ios/animation/coreanimation/animate_a_uiview_using_uikit
答案 1 :(得分:1)
我习惯于像这样执行我的动画:
[UIView animateWithDuration:durationTime //in seconds
animations:^{
//what I want to animate (setCenter:, setFrame:,...)
}
completion:^(BOOL finished){
//only if you want to do things after the animation
}
];
希望它能帮到你