是否有关于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 */ });
但是更广泛的教程会很有用。
提前致谢。
答案 0 :(得分:4)
对于monotouch
基于块的动画,方法是:
Animate(double, double, UIViewAnimationOptions, MonoTouch.Foundation.NSAction, MonoTouch.Foundation.NSAction)
//Animate( animateWithDuration:delay:options:animations:completion )
您可以参考HERE。
代码示例如下:
UIView.Animate(0.2, () => { /* code to animate */ });
或
UIView.Animate(0.2, delegate() { /* code to animate */ });
HERE是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
}
}];