什么是iPhone OS 4.0的基于块的动画的方法?

我想实现一个游戏使用iPhone OS 4.0(iOS4的?)SDK。 在SDK的早期版本中,我一直在使用[UIView的beginAnimations:背景:]和[UIView的commitAnimations]创建一些动画。 然而,当我看的职能4.0的文档,我看到这样的评论。

使用这种方法是不鼓励在iPhone OS 4.0及更高版本。 您应该使用基于块的动画制作方法,而不是。

你可以在这里找到它: http://developer.apple.com/iphone/library/documentation/uikit/reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/clm/UIView/commitAnimations

我的问题是,什么是iPhone OS 4.0基于块的动画? 我虽然认为beginAnimations:背景:和commitAnimations函数用于创建动画块..

--------------解决方案-------------

如果按照该链接,滚动了一下,你会看到动画的新方法为iOS4。

animateWithDuration:animations:
animateWithDuration:animations:completion:
animateWithDuration:delay:options:animations:completion:

也有一些相关的过渡方法。 对于每一种,动画参数是一个块对象:

动画
含有变化块对象提交的意见。 这是你编程方式更改您的视图层次的意见,任何动画的属性。 此块不带参数,没有返回值。 此参数不能为NULL。

块对象是并行编程的一部分

我已经贴在我的博客的一个例子:

CGPoint originalCenter = icon.center;
[UIView animateWithDuration:2.0
animations:^{
CGPoint center = icon.center;
center.y += 60;
icon.center = center;
}
completion:^(BOOL finished){

[UIView animateWithDuration:2.0
animations:^{
icon.center = originalCenter;
}
completion:^(BOOL finished){
;
}];

}];

上面的代码将动画一个UIImageView *(图标)在2秒的动画。 一旦完成,另一个动画将移动图标回伊塔€™的原始位置。

这里是一个非常简单的例子。 该代码只是淡出了的UIView将它隐藏动画完成后:

[UIView animateWithDuration:1.0
delay:0.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^ {
bgDisplay.alpha = 0.0;
}
completion:^(BOOL finished) {
bgDisplay.hidden = YES;
}];

或在不同的格式:

[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^
{
bgDisplay.alpha = 0.0;
}
completion:^(BOOL finished)
{
bgDisplay.hidden = YES;
}];

分类:iphone 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.459 (s). 10 q(s)